一、TCP Socket
1. Socket可以执行的基本操作:- 连接远程机器
- 发送数据
- 接收数据
- 关闭连接
- 绑定端口
- 监听入站数据
2. 工作流程
- 创建socket
- 用给定IP与PORT尝试连接(也可直接在创建时连接)
- 建立连接后,从socket获取输入输出流,开始发送、接受数据
- 关闭连接
服务器socket运行于服务器,监听入站TCP连接。每个socket服务器监听服务器及其的某个端口,当远程主机的客户端尝试连接此端口时,服务器就被唤醒,协商客户端与服务器之间的连接,并返回一个表示两台主机间socket的Socket对象。数据总是通过一般的socket传输。
服务器程序的基本生命周期:
- 使用ServerSocket构造函数在某个端口创建一个新的ServerSocket
- ServerSocket使用accept方法监听此端口的入站连接。accept会一直阻塞,直到客户端尝试连接,这时accept将返回一个连接客户端和服务器的Socket对象。
- 从socket获取输入输出流,发送、接受数据
- 关闭连接
- 服务器继续监听下一次连接
参考:《Java网络编程》