Я экспериментировал с Socket-связью между Flash и Java. Одним из преимуществ Socket над XMLSocket является пропускная способность, потому что вы можете записывать двоичные данные. Так, например, вы можете отправить позицию одного лица как:
writeShort(entity.id); writeFloat(entity.x); writeFloat(entity.y);
Что составляет всего 10 байтов.
Java поддерживает аналогичные примитивные функции чтения / записи с DataStreams или ByteBuffers.
На самом деле, сторона сервера более сложна, чем сторона Flash, потому что вам приходится выбирать между старыми сокетами io Java и новыми методами io. Новые методы ввода-вывода имеют гораздо лучшую производительность, но они более сложны и, по-видимому, заполнены ошибками.