键盘鼠标共享软件-synergy

synergy是一款可以跨平台共享鼠标和键盘的软件。

具体的安装方法网上很多,可以自行搜索,这里只提示一些可能出错的点:

    1.client和server版本不一致可能导致无法连接。

    2.如果采用加密的方式,需要确保client和server采用相同的加密方式。

笔者最开始就是疏忽了加密方式,导致client和server一直连接不上。

好奇心驱使,笔者又分析了一下synergy的协议数据包;

原来在传输层使用的是tcp协议:

synergy协议包总览

既然基于tcp,那首先进行的肯定是tcp三次握手;

非加密模式下,应用层的数据是可以解析的,可以清楚地看到client和server之间的交互数据:

这之后就是应用层的信息协商了,client和server会交换双方的版本号,并且server会发送Query Screen Info询问client的屏幕信息,server根据屏幕信息进行一些相应的设置。

最后就是数据交互阶段了,server不断向client发送鼠标坐标(x,y),从而使client来定位鼠标的位置。

加密模式下,应用层数据都是unknown,当修改了加密模式之后,记住得彻底重启synergy,windows中需要在服务管理中重启synergy,这点挺疼的。

PS:为了保证延时在一定的范围内,每个数据都使用了tcp的PUSH选项

你可能感兴趣的:(键盘鼠标共享软件-synergy)