TCP套接字编程经常使用在客户/服务器编程模型(简称C/S模型)中,C/S模型根据复杂度分为简单的客户/服务器模型和复杂的客户/服务器模型。C/S简单客户/服务器模型是一对一关系,一个服务器端某一时间段内只对应处理一个客户端的请求,迭代服务器模型属于此模型。C/S复杂服务器模型是一对多关系,一个服务器端某一时间段内对应处理多个客户端的请求,并发服务器模型属于此模型。迭代服务器模型和并发服务器模型是socket编程中最常见使用的两种编程模型,图18-5画出两种模型服务端的处理流程。

18-5 迭代服务器&并发服务器图
1. TCP套接字编程模型图
图18-6是TCP套接字编程模型图,画出了客户端与服务端的编程模型和流程。此模型不仅适合迭代服务器,也适合并发服务器,两者实现流程类似,只不过并发服务器接收客户请求(accept)后会fork子进程,由子进程处理客户端的请求。

图18-6 TCP套接字编程模型图
2. TCP编程流程说明
(1) 服务器端编程流程
TCP服务器端编程流程如下:
① 创建套接字;
② 绑定套接字;
③ 设置套接字为监听模式,进入被动接受连接状态;
④ 接受请求,建立连接;
⑤ 读写数据;
⑥ 终止连接。
(2) TCP客户端编程流程
TCP客户端编程流程如下:
①&n

本文详细介绍了TCP套接字编程模型,包括迭代服务器和并发服务器模型,以及客户端和服务端的编程流程。同时,讨论了服务器端可能出现的三种异常情况及处理方式,并对网络数据的读写函数进行了封装。
最低0.47元/天 解锁文章
2000

被折叠的 条评论
为什么被折叠?



