Сокеты и DatagramChannels - PullRequest
       5

Сокеты и DatagramChannels

0 голосов
/ 31 марта 2012

Я пытаюсь написать программу, которая

  • принимать простые UDP-сообщения (текстовые строки) от простого UDP-клиента,
  • открывает соединение с другим сервером и пересылает на него сообщения
  • прослушивает ответ сервера и
  • пересылает этот ответ клиенту.

Так что это простой промежуточный сервер.

Для визуализации связи:

Клиент <---> Промежуточный сервер <---> «Настоящий» сервер

Клиент подключается к промежуточному соединению, но не знает, что отправляемое сообщение пересылается на другой сервер или что его ответ на самом деле с другого сервера. Насколько клиент заботится об этом, промежуточный сервер является реальным сервером.

Я пытаюсь использовать Java DatagramChannel для этого, но не совсем уверен, как правильно сделать это без взлома. Я использую два DatagramChannels? Один для клиента - средний и другой для среднего - настоящий сервер?

Был бы признателен общий план подхода, особенно если мне нужно открывать сокет каждый раз, когда мне нужно переслать сообщение с промежуточного соединения на реальный сервер, или если я могу каким-то образом оставить этот сокет открытым.

1 Ответ

1 голос
/ 31 марта 2012

Для этого вам нужен только один сокет дейтаграммы, и вы можете оставить его открытым в течение всего процесса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...