欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    网络编程5-多线程服务器.ppt

    • 资源ID:6016910       资源大小:410.50KB        全文页数:21页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    网络编程5-多线程服务器.ppt

    多线程服务器,大纲,多线程服务器模型多线程例程代码讲解作业讲解,循环服务器:UDP服务器,UDP循环服务器的实现非常简单:UDP服务器每次从套接字上读取一个客户端的请求,处理,然后将结果返回给客户机.,算法,socket(.);bind(.);while(1)recvfrom(.);process(.);sendto(.);,因为UDP是非面向连接的,没有一个客户端可以一直占住服务端.只要处理过程不是死循环,服务器对于每一个客户机的请求总是能够满足.,循环服务器:TCP服务器,TCP循环服务器的实现也不难:TCP服务器接受一个客户端的连接,然后处理,完成了这个客户的所有请求后,断开连接.,算法,socket(.);bind(.);listen(.);while(1)accept(.);while(1)read(.);process(.);write(.);closesocket(.);,UDP和TCP循环式服务器对比,socket(.);bind(.);while(1)recvfrom(.);process(.);sendto(.);,socket(.);bind(.);listen(.);while(1)accept(.);while(1)read(.);process(.);write(.);closesocket(.);,TCP循环服务器一次只能处理一个客户端的请求.只有在这个客户的所有请求都满足后,服务器才可以继续后面的请求.这样如果有一个客户端占住服务器不放时,其它的客户机都不能工作了.因此,TCP服务器一般很少用简单的循环服务器模型。,为了弥补循环TCP服务器的缺陷,人们提出了多路复用和并发服务器的模型.,并发服务器:多路复用I/O,初始化(socket,bind,listen);while(1)设置要监听读写文件描述符(FD_*);调用select;if(监听套接字就绪)/说明一个新的连接请求建立建立连接(accept);加入到监听文件描述符中去;else/有已经连接过的文件描述符有数据响应 对相应的文件描述符进行操作(read或者write);,多路复用I/O可以解决资源限制的问题.该模型实际上是将UDP循环模型用在了TCP上面.由于服务器依次处理客户的请求,所以可能会导致有的客户会等待很久.,并发服务器的思想是每一个客户机的请求并不由服务器直接处理,而是服务器创建一个子线程来处理.,算法(监听线程),socket(.);bind(.);listen(.);while(1)accept(.);_beginthread(workthread,);,算法(工作子线程),workthread()while(1)read(.);process(.);write(.);closesocket(.);,CreateThread,HANDLE WINAPI CreateThread(_In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes,_In_ SIZE_T dwStackSize,_In_ LPTHREAD_START_ROUTINE lpStartAddress,_In_opt_ LPVOID lpParameter,_In_ DWORD dwCreationFlags,_Out_opt_ LPDWORD lpThreadId);,beginthread,uintptr_t _beginthread(/NATIVE CODEvoid(_cdecl*start_address)(void*),unsigned stack_size,void*arglist);,beginthreadex,uintptr_t _beginthreadex(/NATIVE CODEvoid*security,unsigned stack_size,unsigned(_stdcall*start_address)(void*),void*arglist,unsigned initflag,unsigned*thrdaddr);,TCP并发服务器可以解决TCP循环服务器客户机独占服务器的情况.不过也同时带来了一个不小的问题.为了响应客户机的请求,服务器要创建子进程来处理.而创建子进程是一种非常消耗资源的操作。,好的解决方法,多种技术混用如多线程+多路复用+非阻塞具体选择何种技术,根据系统需求和安全需要而定,

    注意事项

    本文(网络编程5-多线程服务器.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开