版权声明:本文为博主原创文章,转载请备注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()返回的套接字
}
代码实例
扫描二维码关注公众号,回复:
2894188 查看本文章