你的位置:首页 > Java教程

[Java教程]12.21


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