Linux (UDP和TCP)循环服务器

版权声明:本文为博主原创文章,转载请备注https://blog.csdn.net/travelerwz。 https://blog.csdn.net/Travelerwz/article/details/82085171

Linux (UDP和TCP)循环服务器

参考:https://blog.csdn.net/tennysonsky/article/details/45671215

​ 《unix网络编程》

按照处理方式分为:循环服务器和并发服务器

·循环服务器:服务器在同一时刻只能响应一个客户端的请求

·并发服务器:服务器在同一时刻可以响应多个客户端的请求

UDP循环服务器实现方法

UDP 循环服务器每次从套接字上读取一个客户端的请求 -> 处理 -> 然后将结果返回给客户机

UDP 循环服务器模型为

socket(...); // 创建套接字
bind(...);   // 绑定
while(1)
{
  recvfrom(...); // 接收客户端的请求
  process(...);  // 处理请求
  sendto(...);   // 反馈处理结果
}

前面几篇博客都是按照循环服务器来进行编程的:

给出链接:UDP

https://blog.csdn.net/Travelerwz/article/details/82084468

TCP 循环服务器的实现方法

TCP 循环服务器接受一个客户端的连接,然后处理,完成了这个客户的所有请求后,断开连接。TCP 循环服务器一次只能处理一个客户端的请求,只有在这个客户的所有请求满足后,服务器才可以继续后面的请求。如果有一个客户端占住服务器不放时,其它的客户机都不能工作了,因此,TCP 服务器一般很少用循环服务器模型的。

TCP循环服务器模型为:

socket(...);// 创建套接字
bind(...);// 绑定
listen(...);// 监听

while(1)
{
    accept(...);// 取出客户端的请求连接
    process(...);// 处理请求,反馈结果
    close(...);// 关闭连接套接字:accept()返回的套接字
}

代码实例

TCP循环服务器

https://blog.csdn.net/travelerwz/article/details/81771390

猜你喜欢

转载自blog.csdn.net/Travelerwz/article/details/82085171