套接字通信

套接字(socket)为通信的端点,每个套接字由一个 IP 地址和一个端口号组成。通过网络通信的每对进程需要使用一对套接字,即每个进程各有一个。

通常,套接字采用客户机-服务器架构。服务器通过监听指定端口,来等待客户请求。服务器在收到请求后,接受来自客户套接字的连接,从而完成连接。

流程

  1. 服务器先用 socket 函数来建立一个套接字,用这个套接字完成通信的监听。
  2. 用 bind 函数来绑定一个端口号和 IP 地址。因为本地计算机可能有多个网址和 IP,每一个 IP 和端口有多个端口。需要指定一个 IP 和端口进行监听。
  3. 服务器调用 listen 函数,使服务器的这个端口和 IP 处于监听状态,等待客户机的连接。
  4. 客户机用 socket 函数建立一个套接字,设定远程 IP 和端口。
  5. 客户机调用 connect 函数连接远程计算机指定的端口。
  6. 服务器用 accept 函数来接受远程计算机的连接,建立起与客户机之间的通信。
  7. 建立连接以后,客户机用 write 函数向 socket 中写入数据。也可以用 read 函数读取服务器发送来的数据。
  8. 服务器用 read 函数读取客户机发送来的数据,也可以用 write 函数来发送数据。
  9. 完成通信以后,用 close 函数关闭 socket 连接。

这里写图片描述

 


版权声明:本文为weixin_38051797原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。