У меня есть приложение, прослушивающее порт 1234 для клиентских подключений внутри контейнера Docker.Я могу подключиться к порту 1234 на локальном хосте, но не могу отправлять байты.
Контейнер запущен с использованием Docker, запустите -p 1234: 1234 name.
public static void start() {
try {
if (isServerAvailable()) {
LOGGER.info("The host is available");
outputStream = clientSocket.getOutputStream();
String message = SampleMessageFactory.getMessage("PhilipsMessage1.txt");
LOGGER.info("Sending Message:{}", message);
// MLLP Wrapping
outputStream.write(new byte[] { 0x0B });
outputStream.write(message.getBytes(EncodingConstant.UTF8.getEncodingName()));
outputStream.write(new byte[] { 0x1C });
outputStream.write(new byte[] { 0x0D });
}
} catch (IOException e) {
LOGGER.error(e.getMessage(), e);
}
}
public static boolean isServerAvailable() {
boolean result = false;
for (;;) {
try {
clientSocket = new Socket("127.0.0.1", 1234);
result = true;
break;
} catch (IOException e) {
LOGGER.error("The Server is not accepting connections on port 1234");
}
}
return result;
}