网站大量收购独家精品文档,联系QQ:2885784924

实现基于UNIX网络中通信的连接控制.pdfVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7一{82 实现基于V塑迳圈络中通信的连量蕉剑 王 勇 盖江南 付长冬 (总装备部指挥技术学院北京10141666355329—5576) 摘要本文主要介绍如何在基于UNIX的网络巾吏现通信控制连接并给出几种具体的方式,包括:协 议方式、信号方式、命令方式。它们均能在客户端控制服务器上的服务进程的状态。 关键词连接网络通信进程组 V i7 r 1概 述 在基于UNIX的TCP/IP网络环境下,TCP协泌提供面向连接的服务。连接是指二个进程问 的通信链路。面向连接的服务要求二个应用程序在通信前要在两者之间建立一个逻辑连接。一次 面向连接的交换包含三个步骤:连接建立,数据传送,连接断开。在TCP/fP网络中,二个应用程序 (在UNIX中表现为进程]的通信模式基本上是c/s模式,服务器启动后等待客户方的连接请求. 接收到连接请求后,服务器主进程fork子进程来响应请求,而主进程继续监控。子进程又可能fork 许多子进程,共同完成一个服务。并且主进程可能接收任意数量的客户方服务请求,这样在服务方 以主进程为进程组头的进程组完成不同客户的服务请求, 建立了多个互不相同的虚电路,如图1所示。服务完成后, 这些服务进程如何处理呢?是主动退出(exit)?还是强迫 终I出还是一直存在?一般情况下,客户进程完成所要求 的功能后就退出(exit)。而对应的服务进程应如何处理? 如果再次启动相应的客户进程,服务器方服务进程是否多 余?最好的方法是由客户方决定这些服务进程的存在方 式,并根据客户方的实际情况决定服务进程的存在状态。 图1 服务方服务进程关系 本文将针对斟上的问题给出对应的解决方法。 2解决方法 给出~个实例的模型,如图2所示: 此实例考虑了不同主机的不同客户、同一主机的不同客户和服务器服务进程通信的情况。当 然客户机可以请求同一台服务器匕的不同服务,也可以请求不同服务器上的不|亩j服务。但是无论 哪种情况,所要解决的问题都是一样的。凼而以此实例来说明即可。 2.1服务方的处理方式 无论客户方采用何种方式,服务器方处理步骤基本上一致,其体如下: 理。T】aramt是个全局变量。 机I 1.机2 }机3 服务器主机 图2宴例模型 (2)根据cIi—addr中的主机号和端ll号决定服务进程所需要提供的服务。 应的处理。当然每个子进程可以设置不同的信号处理函数。 号1)或者kill(本进程,信号2)。信号1,信号2由signal函数设定,采用对应的处理方法。 2.2客户方的处理方式 客户方对客户进程的处理方式基本上有三种:命令方式,信号方式,协议方式。 2.2.1命令方式 利用“I,s~eI grep辑户程序名”命令,列出进程号,并用kill命令杀死这些进程。当这些进程死 后,服务方进程read,wrile读写的数目n0,从而发送信号。子进程收到信号后采取柑应的处理方 法。 2.2.2信号方式 命令方式是客户进程在后台执行时采用的方法。如果客户进程以前台方式运行,可以采用信 号方式或者协议方式。 在客户方进程巾设置终端信号处理函数,当终端产生此信号时,就向控制终端的所有进程发送 此信号,客户方进程根据处理函数既可退出,也可发协议。如退出,则同命令方式;如发褂议。则同 协议方式。 2.2.3协议方式 这种方式是所有方式巾最灵活的一种。事先可定义各种协议处理。如接受到数据“allexit”, 则所有对应的服务进程退出;如接受到数据“oneexit”,则其中一个进程退出。这些协议完全由用 户协定。只要在相应的服务进程中设置相应的信号处理函数即可,每个信号可以不同。 当然,如果客户方处理进程执行完后就退出,服务方进程采用同样的方法来决定自己的存在状 态。需要特别指出的是,为了客户方进程的多次重启,希望服务方的同一进程组的所有进程采取同 一种处理方式。 fol(;;) { sockaddr*

文档评论(0)

bhl0572 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档