0%

Socket通信

Socket通信

摘自:Java Socket 编程

服务器

  1. 创建socket服务端,绑定监听端口
1
ServerSocket serverSocket = new ServerSocket(6666)
  1. 使用拥塞算法监听端口,客户端与服务端连接后,新建一个socket来连接客户端与服务端
1
Socket clientSocket = serverSocket.accept();
  1. 通讯,直至socket将流关闭
1
2
PrintWriter pw = new PrintWriter(clientSocket.getOutputStream(),true);
BufferedReader br = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));

客户端

  1. 客户端知道socket服务端ip地址以及端口号
1
Socket clientSocket = new Socket("127.0.0.1",6666);
  1. 上面的构造方法只在服务器接受连接时才实例一个新socket,连接失败,会抛出连接拒接异常(connection refused exception). 新socket创建成功时, 我们可以获得与服务器通讯的输入和输出流.
1
2
PrintWriter pw = new PrintWriter(clientSocket.getOutputStream(),true);
BufferedReader br = new BufferedReader(new InputStreamReader(clientSocket.getInputStream));

我之前的误解

  1. 1
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

客户端、服务端的PrintWriter、BufferedReader都是针对socket的输入输出,

只有在PrintWriter准备写数据的时候才可以自定义输入消息

Donate comment here.

欢迎关注我的其它发布渠道