【闲聊】白眉(Paimei): telnet协议3次收包2次发包
想问下平时我们在客户端里输入cmd1;cmd2执行两条指令的时候,是把这两个指令当做一个包还是两个包发出去的?也就是说经历了几个“3次收包2次发包”的过程?北大侠客行MUD,中国最好的MUD 这个似乎和使用的客户端有关系吧。 完全不懂 完全不懂
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 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 效率更高。 to alias肯定更强,中间不会被其他事件插
页:
[1]