hijacker 发表于 2014-2-13 13:08:29

【闲聊】白眉(Paimei): telnet协议3次收包2次发包

想问下平时我们在客户端里输入cmd1;cmd2执行两条指令的时候,是把这两个指令当做一个包还是两个包发出去的?也就是说经历了几个“3次收包2次发包”的过程?

北大侠客行MUD,中国最好的MUD

uniboee 发表于 2014-2-13 13:14:24

这个似乎和使用的客户端有关系吧。

pizzagoo 发表于 2014-2-13 13:25:26

完全不懂

hijacker 发表于 2014-2-13 21:31:18

完全不懂
pizzagoo 发表于 2014-2-13 01:25 PM http://pkuxkx.com/forum/images/common/back.gif


    我对这些协议层面的东西也是不求甚解。但是如果客户端把cmd1;cmd2……;cmdn当做n个包分别发出去的话,那么不如把它们做成系统alias:类似to alias cmd;cmd1;cmd2;...;cmdn;x这种,cmd肯定是当做一个包发出去的,这样可以减少也就是各种数据在客户端和服务器之间的来回次数,大大提高指令的响应速度。

    我做了一个简单的测试,结论似乎是符合我的猜想的

uniboee 发表于 2014-2-13 21:50:00

本帖最后由 uniboee 于 2014-2-13 09:51 PM 编辑

我对这些协议层面的东西也是不求甚解。但是如果客户端把cmd1;cmd2……;cmdn当做n个包分别发出去的 ...
hijacker 发表于 2014-2-13 09:31 PM http://pkuxkx.com/forum/images/common/back.gif

mush客户端在处理 cmd1;cmd2 这种长度很短的命令串时,应该也不是分成2个数据包发送的。

实际发送的应该就是一个数据包,其内容是 cmd1\r\ncmd2 对应的字符,不过服务器在收到这个数据包后,必须先进行解析,也就是按照 \r\n 的位置,把不同的命令分开。

如果使用 to alias abc 这种方法把多条命令直接放在服务器端,解析的步骤就省略了,而且客户端传送的数据包更短。

两种方法比较,肯定是to alias abc 效率更高。

ftd 发表于 2014-2-13 22:02:03

to alias肯定更强,中间不会被其他事件插
页: [1]
查看完整版本: 【闲聊】白眉(Paimei): telnet协议3次收包2次发包