在两个应用程序之间进行通信的最佳和最快方式是什么?

Tus*_*ani 2 java inter-process-communicat

我做了一个java程序只是为了好玩这个程序允许你使用第一台电脑的鼠标控制秒计算机鼠标.所以每当鼠标移动一些x和y的光标就被发送到客户端应用程序.然后使用机器人类移动鼠标.现在我正在使用套接字进行通信,而且它真的很慢,什么是更好的方法来做任何帮助都会被批评.如果可能请提供一些代码谢谢

And*_*s_D 5

如果两个应用程序都存在于不同的虚拟机中,则通过套接字进行通信是一种非常好的方法.

如果它太慢,你可以考虑

  • 使用UDP协议代替TCP/IP
  • 看看你的服务器/客户端代码,性能可能会在那里被杀死.

考虑到您对此答案的评论:

当您通过套接字发送字节时,如果将鼠标位置编码为byte值而不是编码,则性能会提高String:

int x = getX();
int y = getY();
// let's assume we have a 16Bit / 2Byte range for both values (practica)
byte[] message = new byte[4];
message[0] = (byte) (x >> 8) & 0xff;
message[1] = (byte) x & 0xff;
message[2] = (byte) (y >> 8) & 0xff;
message[3] = (byte) y & 0xff;
sendViaSocket(message);
Run Code Online (Sandbox Code Playgroud)

(它以一些魔法开始和结束,重点是编码)