在Android中可以直接利用java中的Socket与ServerSocket构建socket通信。
代码的运行环境:
pc端:普通pc,作为服务器,已经设置有域名(通过动态域名软件设置),在5648端口进行监听。
Android手机客户端:android2.3设备。
代码运行一切正常,客户端发送的文字将在服务器端接收并显示,服务器每接收到客户端的一行文字,就会返回一个从0开始递增的整数,此整数将在客户端显示出来。
pc端代码:
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Test implements Runnable{
/**
* @param args
*/
int max=10; //最大开启线程数
int i=0; //回复数字
int temp;
ServerSocket serverSocket;
Socket socket[];
public Test(){
try {
serverSocket=new ServerSocket(5648); //在5648端口进行侦听
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("can't initate ServerSocket!");
return;
}
socket=new Socket[max];
System.out.println("waiting for connect");
try {
while((socket[i]=serverSocket.accept())!=null){
temp=i;
i++;
new Thread(this).start(); //每侦听到一个客户端的连接,就会开启一个工作线程
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
new Test();