zoukankan      html  css  js  c++  java
  • java tcp 端口监听

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.net.InetAddress;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    
    
    public class Server extends ServerSocket {
    
        publicServer(int serverPort) throws IOException {
          // 用指定的端口构造一个ServerSocket
          super(serverPort);
          try {
             while (true) {
                // 监听一端口,等待客户接入
                Socket socket = accept();
                // 将会话交给线程处理
                new ServerThread(socket);
             }
          } catch (IOException e) {
             e.printStackTrace();
          } finally {
             close(); // 关闭监听端口
          }
        }
    
        //inner-class ServerThread
        classServerThread extends Thread {
          private Socket socket;
          private BufferedReader in;
          private PrintWriter out;
    
          // Ready to conversation
          public ServerThread(Socket s) throws IOException{
             this.socket = s;
             // 构造该会话中的输入输出流
             in = new BufferedReader(newInputStreamReader(socket
                   .getInputStream(), "GB2312"));
             out = new PrintWriter(socket.getOutputStream(),true);
             start();
          }
    
          // Execute conversation
          public void run() {
             try {
    
                // Communicate with client until "bye "received.
                while (true) {
                   // 通过输入流接收客户端信息
                   String line = in.readLine();
                   if (line == null || "".equals(line.trim())) { //是否终止会话
                      break;
                   }
                   System.out.println("Received  message: " + line);
                   // 通过输出流向客户端发送信息
                   out.println(line);
                   out.flush();
                }
    
                out.close();
                in.close();
                socket.close();
    
             } catch (IOException e) {
                e.printStackTrace();
             }
          }
    
        }
    
        // mainmethod
        publicstatic void main(String[] args) throws IOException {
          new Server(2088);
        }
    }


  • 相关阅读:
    elasticsearch(一):JAVA api操作
    elasticsearch(一):安装与配置
    Apache POI导出excel
    Java实现验证码
    Java数据库连接池原理与简易实现
    SpringMvc注解开发
    类型转换的时候,.valueOf()和.parseX(),.Xvalue()的区别
    kmp算法模板
    java 的任意进制间转换(很方便)
    海伦-秦九韶公式(利用三角形的三边求面积)
  • 原文地址:https://www.cnblogs.com/xiaowangba/p/6314337.html
Copyright © 2011-2022 走看看