Если оба приложения живут в разных виртуальных машинах, то общение через сокеты является очень хорошим подходом.
Если оно слишком медленное, вы можете рассмотреть
- с использованием протокола 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);
(Он начинается и заканчивается магией, смысл в кодировке)