手机使用GPRS网络与server进行Socket通信,代码下载地址:http://download.csdn.net/detail/wu20093346/7768481
用UDP协议与Socket调试工具进行測试。
SocketActivity.java:
package com.example.socket; import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;
import android.view.View.OnClickListener; public class SocketActivity extends Activity { private Button startButton = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_socket);
startButton = (Button)findViewById(R.id.startListener);
startButton.setOnClickListener(new StartSocketListener());
} class StartSocketListener implements OnClickListener{ @Override
public void onClick(View v){
new ServerThread().start();
}
} class ServerThread extends Thread{
public void run(){
try{
DatagramSocket socket = new DatagramSocket(1234);
InetAddress serverAddress = InetAddress.getByName("115.238.249.92");
String str = "hello";
byte data[] = str.getBytes();
DatagramPacket packet = new DatagramPacket(data,data.length,serverAddress,1234);
socket.send(packet);
}catch (Exception e)
{
e.printStackTrace();
}
}
}
}
activity_socket.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".SocketActivity" > <Button
android:id="@+id/startListener"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:onClick="OnClickListener"
android:text="@string/Start" /> </RelativeLayout>
Socket调试工具创建UDP Server监听1234port,本机IP为115.238.249.92。
安装执行apk,按下Sendbutton。server端收到数据。
注意在AndroidManifest.xml中加入:
<uses-permission android:name="android.permission.INTERNET" />