位置: 编程技术 - 正文

Linux操作系统网络服务器模型分享(Linux操作系统网络及主机名配置)

编辑:rootadmin

推荐整理分享Linux操作系统网络服务器模型分享(Linux操作系统网络及主机名配置),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux操作系统网络配置,linux操作系统网课推荐,Linux操作系统网络功能,Linux操作系统网页,Linux操作系统网站,Linux操作系统网络及主机名配置,Linux操作系统网络及主机名配置,linux操作系统网络配置,内容如对您有帮助,希望把文章链接给更多的朋友!

Linux操作系统网络服务器模型分享(Linux操作系统网络及主机名配置)

所谓并发服务器就是在同一个时刻可以处理来自多个客户端的请求;循环服务器是指服务器在同一时刻只可以响应一个客户端的请求。而且对于TCP和UDP套接字,这两种服务器的实现方式也有不同的特点。 1、TCP循环服务器:   首先TCP服务器接受一个客户端的连接请求,处理连接请求,在完成这个客户端的所有请求后断开连接,然后再接受下一个客户端的请求。创建TCP循环服务器的算法如下: 复制代码代码如下: socket(……); //创建一个TCP套接字 bind(……); //邦定公认的端口号 listen(……); //倾听客户端连接 while(1) //开始循环接收客户端连接 { accept(……);//接收当前客户端的连接 while(1) { //处理当前客户端的请求 read(……); process(……); write(……); } close(……); //关闭当前客户端的连接,准备接收下一个客户端连接 } TCP循环服务器一次只处理一个客户端的请求,如果有一个客户端占用服务器不放时,其它的客户机连接请求都得不到及时的响应。因此,TCP服务器一般很少用循环服务器模型的。 2、TCP并发服务器:   并发服务器的思想是每一个客户端的请求并不由服务器的主进程直接处理,而是服务器主进程创建一个子进程来处理。创建TCP并发服务器的算法如下: 复制代码代码如下: socket(……); //创建一个TCP套接字 bind(……); //邦定公认的端口号 listen(……);//倾听客户端连接 while(1) //开始循环接收客户端的接收 { accept(……);//接收一个客户端的连接 if(fork(……)==0) //创建子进程 { while(1) { //子进程处理某个客户端的连接 read(……); process(……); write(……); } close(……); //关闭子进程处理的客户端连接 exit(……) ;//终止该子进程 } close(……); //父进程关闭连接套接字描述符,准备接收下一个客户端连接 } TCP并发服务器可以解决TCP循环服务器客户端独占服务器的情况。但同时也带来了一个不小的问题,即响应客户机的请求,服务器要创建子进程来处理,而创建子进程是一种非常消耗资源的操作。 3、UDP循环服务器:   UDP服务器每次从套接字上读取一个客户端的数据报请求,处理接收到的UDP数据报,然后将结果返回给客户机。创建UDP循环服务器的算法如下: 1 socket(……); //创建一个数据报类型的套接字 2 bind(……); //邦定公认的短口号 3 while(1) //开始接收客户端的连接 4 { //接收和处理客户端的UDP数据报 5 recvfrom(……); 6 process(……); 7 sendto(……);//准备接收下一个客户机的数据报 8 } 消除行号 因为UDP是非面向连接的,没有一个客户端可以独占服务器。只要处理过程不是死循环,服务器对于每一个客户机的请求总是能够处理的。   UDP循环服务器在数据报流量过大时由于处理任务繁重可能造成客户技数据报丢失,但是因为UDP协议本身不保证数据报可靠到达,所以UDP协议是允许丢失数据报的。   鉴于以上两点,一般的UDP服务器采用循环方式4、UDP并发服务器把并发的概念应用UDP就得到了并发UDP服务器,和并发TCP服务器模型一样是创建子进程来处理的。   创建UDP并发服务器的算法如下: 复制代码代码如下: socket(……); //创建一个数据报类型的套接字 bind(……); //邦定公认的短口号 while(1) //开始接收客户端的连接 { //接收和处理客户端的UDP数据报 recvfrom(……); if(fork(……)==0) //创建子进程 { rocess(……); sendto(……); } } 除非服务器在处理客户端的请求所用的时间比较长以外,人们实际上很少用这种UDP并发服务器模型的。 4、多路复用I/O并发服务器:   创建子进程会带来系统资源的大量消耗,为了解决这个问题,采用多路复用I/O模型的并发服务器。采用select函数创建多路复用I/O模型的并发服务器的算法如下: 初始化(socket,bind,listen); 复制代码代码如下: while(1) { 设置监听读写文件描述符(FD_*); 调用select; 如果是倾听套接字就绪,说明一个新的连接请求建立 { 建立连接(accept); 加入到监听文件描述符中去; } 否则说明是一个已经连接过的描述符 { 进行操作(read或者write); } 多路复用I/O可以解决资源限制问题,此模型实际上是将UDP循环模型用在了TCP上面。这也会带了一些问题,如由于服务器依次处理客户的请求,所以可能导致友的客户会等待很久。

Linux 用户(user)和用户组(group)管理概述 一、理解Linux的单用户多任务,多用户多任务概念;Linux是一个多用户、多任务的操作系统;我们应该了解单用户多任务和多用户多任务的概念;1、Linux

LINUX下的文件结构介绍 /bin二进制可执行命令/dev设备特殊文件/etc系统管理和配置文件/etc/rc.d启动的配置文件和脚本/home用户主目录的基点,比如用户user的主目录就是/home/user,

磁盘空间不足怎么办,linux磁盘清理方法 由于当初安装系统设计不合理,有些分区的过小,以及网络通讯故障等造成日志文件速度增长等其他原因都可以表现为磁盘空间满,造成无法读写磁盘

标签: Linux操作系统网络及主机名配置

本文链接地址:https://www.jiuchutong.com/biancheng/364101.html 转载请保留说明!

上一篇:linux中查看各硬件资源信息的命令小结(linux查看所有硬件信息命令)

下一篇:Linux 用户(user)和用户组(group)管理概述(linux用户是什么意思)

  • 公允价值变动损益
  • 报废车残值款计入什么科目
  • 防伪税控系统服务费发票在哪里开
  • 防雨棚设计规范
  • 收取车辆使用费怎么做账
  • 扫微信送礼品是诈骗吗
  • 新领的发票怎么导入uk开票系统
  • 销售承兑现金会退回来吗
  • 资产负债表的应付职工薪酬怎么填
  • 负债类会计科目表
  • 外贸企业0退税率的账务处理
  • 春节汽车租赁
  • 销售原材料的账务处理
  • 银行缴纳印花税贷款方面哪些可以减免
  • 预缴税款的税率
  • 建筑施工企业的安全生产许可证由哪里颁发
  • 退税文件提醒怎么看
  • 关于工资薪金的情况说明
  • 我的初级备考经历作文
  • 购进一批材料,材料已经入库
  • 劳务派遣差额征税税率是多少
  • 企业采购成本包括所有的仓储费用
  • 收到进项专用发票会计分录
  • win11怎么设置声音
  • 如何固定iPhone墙纸
  • 开出服务费的增值税发票
  • 收到政府部门的奖励金怎么入账
  • 手机测wifi网速准不准
  • 调整之前的凭证怎么删除
  • 呆滞品报废入什么科目
  • php该怎么学
  • 鸿蒙系统进入工程菜单
  • 如何配置无线路由器参数
  • 股权指的是
  • 餐饮业原料采购都包括哪些
  • 审核过程中发现的问题应由被审核部门实施纠正
  • phpqrcode 实例
  • 直接材料成本差异账户在平时登记贷方登记
  • ros算法
  • 使用php进行mysql数据库编程的基本步骤
  • web前端修炼之道
  • crontab命令用法
  • 微信公众号开发用什么语言
  • php处理并发有哪些技术
  • 劳动仲裁要出钱吗
  • python socket连接后发送数据被强行终止
  • 换货公司是否可信?
  • dedecmsv6
  • 接受银行承兑汇票需要开通吗
  • 税率与征收率是怎么回事
  • 景点门票做什么科目
  • 免税收入就是不征收收入,均属于税收优惠范畴
  • 业务招待费可以进项抵扣吗
  • 企业年底亏损怎么结转
  • 上期留抵税额可以留多久
  • 企业最应避免的外部环境和内部条件组合是
  • 计提了坏账准备就要计算递延所得税资产
  • 可供分配利润包括哪些
  • 工程材料增值税税率是多少
  • 事业单位职工福利费
  • 装修费用摊销计入什么科目
  • 建筑业发票可以开工程施工吗
  • 一般企业报税的税种
  • mysql加密解密
  • mysql里面的数据类型
  • mysql 正则表达式分组替换
  • windows8.1如何分区
  • vmp.exe是什么
  • 怎么用苹果电脑打印照片
  • 为避免10月20号后盗版系统出现黑屏的bat文件
  • win8.1最流畅
  • grid sheet
  • 批处理替换文件中的某个内容
  • keycode输入cat
  • input组件封装
  • 用JObj实现的渐变效果
  • 扣税13个点实际支付金额该怎么算
  • 江苏国税电子税务局打印机设置
  • 变更法人需要法人本人去吗
  • 北京市门头沟最西边有个塔子叫什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设