1. 问题
- Socket 网络编程的过程是怎样的?
2. 解答
- 客户端向服务器端发送连接请求后,就被动地等待服务器的响应。典型的 TCP 客户端要进行下面 3 步操作:
- 步骤1:创建一个 Socket 实例,通过构造函数与指定的远程主机和端口建立一个 TCP 链接;
- 步骤2:通过套接字的 I/O 流与服务器端通信;
- 步骤3:使用 Socket 类的 close() 方法关闭链接;
- 服务器端的工作室建立一个通信终端,并被动地等待客户端的链接。典型的 TCP 服务器端执行如下两步操作:
- 步骤1:创建一个 ServerSocket 实例并制定本地端口,用来监听客户端在改端口发送的 TCP 链接请求;
- 步骤2:重复执行以下操作:
- 调用 ServerSocket 的 accept() 方法以获取客户端连接,并通过其返回值创建一个 Socket 实例;
- 为返回的 Socket 实例开启新的线程,并使用返回的 Socket 实例的 I/O 流与客户端通信;
- 通信完成后,使用 Socket 类的 close() 方法关闭该客户端的套接字链接;
推荐阅读:Java TCP 网络编程 >>>