Я создал очень простую службу xinetd
, подключенную к программе, которая просто выводит на STDOUT.
Клиент для этой программы - клиент сокетов Java (Mirth Connect).
Я протестировал свою программу, используя nc 127.0.0.1 6661 < test.hl7|xxd
, и мгновенно получил этот ответ:
00000000: 0b4d 5348 7c5e 7e5c 267c 494e 4e4f 5641 .MSH|^~\&|INNOVA
00000010: 7c7c 494d 5041 4353 7c7c 3230 3139 3037 ||IMPACS||201907
00000020: 3035 3230 3034 3339 7c7c 4f52 4d5e 4f30 05200439||ORM^O0
00000030: 317c 7c50 7c32 2e33 7c7c 7c4e 457c 414c 1||P|2.3|||NE|AL
00000040: 7c41 5247 7c7c 7c7c 7c7c 7c7c 7c0d 0a4d |ARG|||||||||..M
00000050: 5341 7c41 417c 3230 3139 3037 3035 3230 SA|AA|2019070520
00000060: 3239 3235 3338 357c 4f4b 7c7c 7c7c 7c7c 2925385|OK||||||
00000070: 0d1c 0d0a ....
Java-клиент отправляет некоторые данные и ждет 5 секунд, пока не будет вызвано java.net.SocketTimeoutException
.
У меня вопрос, если netcat мгновенно получает ответ, почему Mirth Connect продолжает ждать ответа?.