Я пытаюсь написать программу, которая
- принимать простые UDP-сообщения (текстовые строки) от простого UDP-клиента,
- открывает соединение с другим сервером и пересылает на него сообщения
- прослушивает ответ сервера и
- пересылает этот ответ клиенту.
Так что это простой промежуточный сервер.
Для визуализации связи:
Клиент <---> Промежуточный сервер <---> «Настоящий» сервер
Клиент подключается к промежуточному соединению, но не знает, что отправляемое сообщение пересылается на другой сервер или что его ответ на самом деле с другого сервера. Насколько клиент заботится об этом, промежуточный сервер является реальным сервером.
Я пытаюсь использовать Java DatagramChannel для этого, но не совсем уверен, как правильно сделать это без взлома. Я использую два DatagramChannels? Один для клиента - средний и другой для среднего - настоящий сервер?
Был бы признателен общий план подхода, особенно если мне нужно открывать сокет каждый раз, когда мне нужно переслать сообщение с промежуточного соединения на реальный сервер, или если я могу каким-то образом оставить этот сокет открытым.