Advertisement

socket 编程基于TCP C/S通信模型实现

阅读量:

基于TCP协议的客户端/服务器的程序

下图是基于TCP协议的客户端/服务器程序的一般流程

这里写图片描述

服务器启动监听服务时会依次调用socket()函数用于地址分配与绑定操作、bind()函数绑定 listen 位置并设置 listen 端口、listen()函数开启监听状态;此时客户端发起连接请求时会先调用socket()函数进行本地端口地址的获取与本地地址的绑定操作;随后 client 调用connect()方法发送SYN报文进入半开连接状态; server 在接收到SYN报文后会立即生成SYN-ACK报文并返回给 client; client 收到该报文后会立即从connect()方法中返回; server 接收到 client 的ACK确认报文后也会从accept()方法中释放当前连接并返回给 client


数据传输的过程
在建立连接之后,在TCP协议下实现了双向通信的功能。然而,在传统的客户端/服务器架构中,默认的操作模式通常是通过客户端发起请求并在接收到响应后再执行下一步操作的一对一来回应模式完成任务。
一旦`acce

全部评论 (0)

还没有任何评论哟~