套接字(socket)为通信的端点,每个套接字由一个 IP 地址和一个端口号组成。通过网络通信的每对进程需要使用一对套接字,即每个进程各有一个。
通常,套接字采用客户机-服务器架构。服务器通过监听指定端口,来等待客户请求。服务器在收到请求后,接受来自客户套接字的连接,从而完成连接。
流程
- 服务器先用 socket 函数来建立一个套接字,用这个套接字完成通信的监听。
- 用 bind 函数来绑定一个端口号和 IP 地址。因为本地计算机可能有多个网址和 IP,每一个 IP 和端口有多个端口。需要指定一个 IP 和端口进行监听。
- 服务器调用 listen 函数,使服务器的这个端口和 IP 处于监听状态,等待客户机的连接。
- 客户机用 socket 函数建立一个套接字,设定远程 IP 和端口。
- 客户机调用 connect 函数连接远程计算机指定的端口。
- 服务器用 accept 函数来接受远程计算机的连接,建立起与客户机之间的通信。
- 建立连接以后,客户机用 write 函数向 socket 中写入数据。也可以用 read 函数读取服务器发送来的数据。
- 服务器用 read 函数读取客户机发送来的数据,也可以用 write 函数来发送数据。
- 完成通信以后,用 close 函数关闭 socket 连接。
版权声明:本文为weixin_38051797原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。