level 5
西安恩仪联教育
楼主
目录:
1、基于tcp协议c/s模式编程
2、tcp服务器设计方案
一、基于tcp协议c/s模式编程
编程流程如下:

1、客户端编程流程
(1)创建套接字socket()
(2)向服务器发送连接请求connect()
(3)发送数据包send()
(4)接收数据包recv()
(5)关闭套接字close()
2、服务器端编程流程
(1)创建套接字 socket()
(2)绑定地址和端口号bind()
(3)监听 listen()
(4)阻塞等待连接accept()
(5)接收数据包recv()
(6)发送数据包send()
(7)关闭套接字close()
二、tcp服务器设计
方案1:
服务器端仅有一个主线程,仅能为一个客户端提供服务,类似与点—点通信。服务器端无法处理多个客户端请求连接。

方案2:ppc(process per connection)
服务器端采用多任务程序设计,采用多进程程序设计,为每一个客户端请求新建一个进程为其提供服务,多个客户端对应多个进程。服务器端负荷比较重,效率低。

方案3:tpc(thread per connection)
服务器端采用多任务程序设计,采用多线程,为每一个客户端的请求新建一个线程,为其提供服务,有多少个连接,就有多少个线程。相比模型二有所改进,任务较多时,服务器端无法承受,效率低。

方案4:select模型和epoll模型
服务器端采用非阻塞式网络编程,服务器端采用select技术或者epoll监控连接到服务器端的客户套接字,这样服务器端一个线程可以同时处理“多个”客户端请求,服务器端不用产生多个线程,提高服务器处理客户端效率,适合连接少,连接时间长的场合。

方案5:线程池模型
服务器端预先产生多个线程,主线程负责接受客户端的连接请求并将套解字存入请求队列,各个线程从请求队列中获取客户端套接字为其提供服务,客户端退出时,服务器端线程并不终止,继续从请求队列中获取新的客户端套解字,队列为空时则阻塞。线程不用频繁创建和销毁。

2025年09月11日 09点09分
1
1、基于tcp协议c/s模式编程
2、tcp服务器设计方案
一、基于tcp协议c/s模式编程
编程流程如下:

1、客户端编程流程(1)创建套接字socket()
(2)向服务器发送连接请求connect()
(3)发送数据包send()
(4)接收数据包recv()
(5)关闭套接字close()
2、服务器端编程流程
(1)创建套接字 socket()
(2)绑定地址和端口号bind()
(3)监听 listen()
(4)阻塞等待连接accept()
(5)接收数据包recv()
(6)发送数据包send()
(7)关闭套接字close()
二、tcp服务器设计
方案1:
服务器端仅有一个主线程,仅能为一个客户端提供服务,类似与点—点通信。服务器端无法处理多个客户端请求连接。

方案2:ppc(process per connection)服务器端采用多任务程序设计,采用多进程程序设计,为每一个客户端请求新建一个进程为其提供服务,多个客户端对应多个进程。服务器端负荷比较重,效率低。

方案3:tpc(thread per connection)服务器端采用多任务程序设计,采用多线程,为每一个客户端的请求新建一个线程,为其提供服务,有多少个连接,就有多少个线程。相比模型二有所改进,任务较多时,服务器端无法承受,效率低。

方案4:select模型和epoll模型服务器端采用非阻塞式网络编程,服务器端采用select技术或者epoll监控连接到服务器端的客户套接字,这样服务器端一个线程可以同时处理“多个”客户端请求,服务器端不用产生多个线程,提高服务器处理客户端效率,适合连接少,连接时间长的场合。

方案5:线程池模型服务器端预先产生多个线程,主线程负责接受客户端的连接请求并将套解字存入请求队列,各个线程从请求队列中获取客户端套接字为其提供服务,客户端退出时,服务器端线程并不终止,继续从请求队列中获取新的客户端套解字,队列为空时则阻塞。线程不用频繁创建和销毁。
