Невозможно последовательно отправить данные с хоста в док-контейнер - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть приложение, прослушивающее порт 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;
}
...