Как я могу реализовать управление потоком просто с помощью сокетного общения в Java? - PullRequest
0 голосов
/ 17 ноября 2010

В настоящее время я пишу простой клиент / сервер на Java с использованием сокетов.Я хочу, чтобы сервер принимал решения на основе различных «команд» и / или сериализованных объектов, которые получены от клиента через сокет и наоборот.

Что-то вроде:

[Receive Command 'DoSomething' From Client]
[Call Method 'DoSomething' on the Server]
[Send result/status to Client]
etc...

Существует ли соглашение для управления потоком, например, с использованием обычной связи через сокеты, возможно, с сериализацией?Должен ли я использовать RMI в Java вместо этого?

Ответы [ 2 ]

2 голосов
/ 17 ноября 2010

Я бы порекомендовал KryoNet для выполнения любых вещей типа RMI без накладных расходов на RMI и негибкости, которую он приносит.

http://code.google.com/p/kryonet/

KryoNet делает предположения, что он будетиспользовать только для клиент-серверных архитектур, а KryoNet будет использоваться по обе стороны сети.Поскольку KryoNet решает конкретную проблему, API-интерфейс KryoNet может сделать это очень элегантно.

Проект Apache MINA аналогичен KryoNet.API MINA - более низкий уровень и намного более сложный.Даже самый простой клиент / сервер потребует написания гораздо большего количества кода.MINA также не интегрирована с надежной платформой сериализации и не поддерживает RMI.

Проект Priobit - это минимальный уровень над NIO.Он обеспечивает TCP-сеть, аналогичную KryoNet, но без функций более высокого уровня.Priobit требует, чтобы все сетевое взаимодействие происходило в одном потоке.

Проект Java Game Networking - это библиотека более высокого уровня, похожая на KryoNet.JGN не имеет такого простого API.

1 голос
/ 17 ноября 2010

Там нет.Если вы создаете связь клиент / сервер с сокетами, вам придется определить свой собственный протокол и правила, применимые к этому протоколу.

RMI может облегчить этот шаг, выполняя определенные методы объекта.Суть в том, что первоначальная настройка сервера rmi и т. Д., О которой я слышал в последние годы, не так сложна, как раньше.

Вот учебник RMI , который вам может пригодиться

...