- 论坛徽章:
- 0
|
固定终端号程序免费下载
原帖由 "qthshilei" 发表:
流控其实是系统做的.在steptty侧其实很简单的.无论从技术上还是原理上.唯一费劲的就是多进程管理上和多设备管理上.但对于高手来说也是不难的.因为我也是在接到活后才开始学习socket的.
我没有用到telnet中的选项.只..........
我没有看明白你所要表达的意思,如果你说的仅仅用telnet协议的端口,那么你的实现同TELNET没有什么关系.
其次,你说的4个屏,你如何区分他们他们的呢?
关于流控问题,我的理解同你有点不一样,你所说的只是一条线路点到点的流控,各段的点到点的流控做好了,并不代表整条线路上的数据吧就有了流量控制,这是两把事情.XON/XOFF等等同TELNET的流控不是同一个概念,至少在代码上就不一样了.
你做过终端打印大量数据的测试么?
华为的终端服务器(也包括其他的一些产品)出现的流控问题,并不是缓冲满了的问题造成的,而是因为他首先是路由器,路由器用队列接受报文然后转发,所以缓冲没有满,也会造成PING的现象,因为终端可以想象成是一个慢速输出口,先进先出,先进的没有出完,后进的就不能处理.尽管后进还是可以进行.
所以解决问题的方法有两种:一是做整条虚终端线路上的流控,这是最彻底的改变方法,也就是说,在路由器上的进程察觉到终端缓冲满或者他设置一个接受阈值到达后,他就发个服务器NVT一个流控指令注意这个流控指令一般的不可能是XON\XOFF,他遵循TELNET的流控协议;一条就是用两个队列,但是这会造成路由器资源的浪费和线路资源的浪费.
就以你的例子来证明把:NVTS(服务方进程)----NVTC(客户方)----T(实际终端)
这是NVT的体系结构,S/C的流控和C/T的流控都做好了,不代表S/T的流控就做好了.所以流控不是系统自己做的,他自己做的,只不过是对下一个节点的,至于整条线路,还是必须自己做.因为节点是存储转发的. |
|