telnet机制(取自unix环境高级编程)

telnet 机制;

     1:在自己终端上,该程序读终端,然后写到网络连接上,同时读取网络连接,同时将所得数据写到终端上。

     2:在网络连接的另一端,telnetd守护进程读用户在终端上键入的内容,将其送给shell,telnetd将执行用户键入命令,产生输出通过telnet命令送回给用户。

telnet命令有两个输入,两个输出。两个输入中都不能使用阻塞,因为不知道哪一个输入有我们需要的数据。

      办法逐渐改进:

a: fork两个进程,每个进程处理一条数据通路。

        b:进程开销大,改为两个线程,但是两个线程需要考虑同步等,复杂度也不低。

        c:一个进程使用非阻塞I/O读取数据,然后采用轮询机制。但是轮询的时间等待定。而且多任务的时候这种方法不是太好。

        d: 异步I/O.进程告诉内核,描述符准备可以进行I/O,用一个信号通知内核,内核接收到信号时,无法确定是哪一个的,所以需要用轮询机制判定。

        e:较好的技术为使用I/O多路转换,大概思想是:先构造一张有关描述符的列表,然后调用一个函数,直到这些描述符中的一个已准备好进行I/O,该函数才返回。

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值