套接字编程
套接字编程
TCP套接字编程
- 服务器首先运行,等待连接建立(服务器进程必须先处于运行状态)
- 创建欢迎socket
- 和本地端口捆绑
- 在欢迎socket上阻塞式等待接收用户的连接
- 客户端主动和服务器建立连接
- 创建客户端本地套接字(隐式捆绑到本地port)
- 指定服务器进程的IP地址和端口号,与服务器进程连接
- 当与客户端连接请求到来时
- 服务器接受来自用户端的请求,解除阻塞式等待,返回一个新的socket(与欢迎socket不一样),与客户端通信
- 允许服务器与多个客户端通信,使用源IP和源端口来区分不同的客户端
- 连接API调用有效时,客户端P与服务器建立了TCP连接
UDP套接字编程
UDP:在客户端和服务器之间没有连接
传输层提供端到端的进程之间的网络传输服务。
- 没有握手
- 发送端在每一个报文中明确地指定目标的IP地址和端口号(因为socket只绑定了本地的IP和端口)
- 服务器必须从收到的分组中提取出发送端的IP地址和端口号
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 goMars的学习随记!
评论