本文主要参考C语言中文网和linux网络编程-网络基础-socket编程-高并发服务器
1、网络程序设计模式
1.1 CS模式
客户机(client)/服务器(server)模式。需要在通讯两端各自部署客户机和服务器来完成数据通信
1)本地可进行大量数据的缓存处理,提高传输速率
2)所采用的协议相对灵活(可以自己定义)
1.2 B/S模式
浏览器/服务器模式。只需在一端部署服务器,而另外一端使用每台PC都默认配置的浏览器即可
1)易开发,不受平台限制
2)缓存数据不尽如人意,协议选择不灵活
2、C/S模型编程实例
2.1 TCP协议的客户端/服务器程序的一般流程
首先,服务器调用socket()、bind()、listen()完成初始化后,调用accept()阻塞等待,处于监听端口的状态,客户端调用socket()初始化后,调用connect()发出SYN段并阻塞等待服务器应答,服务器应答一个SYN-ACK段,客户端收到后