TCP套接字编程模型

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值