建立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(); }
}
}