12.21-Android ServerSocket

时间:2022-05-20 03:16:02

建立ServerSocket服务器

1、new ServerSocket对象servierSocket

2、接收客户端请求Socket client = servierSocket.accept();

3、以字节流的方式循环读取客户端数据

4、对于要不要关闭客户端和输入输出流的话,个人还是不太了解的。

但是对于这个程序而言,可以实现的是,不断接收客户端的数据,并对该数据通过handler进行响应。

**************华丽的分割线**************

/**
* Socket服务器
*
* @author Administrator
*
*/ public class SocketServerDemo extends Thread {
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
//Socket服务器
ServerSocket serverSocket = null;
//Socket客户端
Socket client = null;
//输入流
InputStream ips = null;
//字节
byte[] b = new byte[32];
try {
        //服务器端口号
serverSocket = new ServerSocket(8777);
        //循环接收客户端
while (true) {
// 等待客户端请求,如果没有客户端请求,会一直堵塞在这里
client = serverSocket.accept();
ips = client.getInputStream();
try {
//循环接收客户端信息
while(true){
                //按规定的字节数读取数据
int count = ips.read(b);
                //设置一样字节的字节数组
byte temp[] = new byte[count];
                //以循环的方式接收数据
for (int i = 0; i < count; i++) {
temp[i] = b[i];
}
String str = new String(temp) ;
if(str.equals("888")){
Message mes = new Message();
mes.what = 1;
mhandler.sendMessage(mes);
}else {
Message mes = new Message();
mes.what = 2;
mhandler.sendMessage(mes);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
} catch (IOException e1) {
e1.printStackTrace(); }
}
}