两个应用程序之间通信的最佳且最快的方式是什么?
我制作了一个java程序只是为了好玩,这个程序允许您使用第一台计算机的鼠标来控制第二台计算机的鼠标。因此,每次鼠标移动一些,光标的 x 和 y 都会发送给客户端应用程序。然后使用机器人类来移动鼠标。现在我正在使用套接字进行通信,而且速度非常慢,有什么更好的方法可以做到这一点,任何帮助都会得到帮助。如果可能的话请提供一些代码 谢谢
I made a java program just for fun this program allows you to control the seconds computer mouse using the first computer's mouse. so everytime the mouse moves some the x and the y of the cursor is sent client application. which then uses the robot class to move the mouse. right now I am using sockets to communicate and it is really slow what is a better way to do it any help would be apritited. if possible please provide some code
thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果两个应用程序都位于不同的虚拟机中,那么通过套接字进行通信是一个非常好的方法。
如果太慢,您可以考虑
考虑到您对此答案的评论:
当您通过套接字发送字节时,如果将鼠标位置编码为
字节
值而不是字符串
,性能将会提高code>:(它以一些魔法开始和结束,重点是编码)
If both applications live in different virtual machines, then communication via sockets is a very good approach.
If it is too slow, you may consider
Considering you comment to this answer:
As you send bytes over sockets, performance will be increased if you encode the mouse positions to
byte
values rather then toString
:(It starts and ends with some magic, the point is the encoding)
我想套接字是你最好的选择。您可以尝试研究有关 JFS(Java Fast Sockets)的更多信息,这是西班牙拉科鲁尼亚大学的一个项目,但我不确定他们走了多远。更多信息 这里
I guess sockets was your best bet. You can try to research more info about JFS (Java Fast Sockets) which is a project from the University of A Coruña in Spain, but I'm not sure how far they went with it. More info here
两台机器之间的进程间通信有很多方法 - 但我不认为它们中的任何一个都会比原始套接字更快并且适用于鼠标事件:
There are so many ways for inter process communication between two machines - But I don't think any of them are going to be faster than raw sockets and will work for mouse events: