我创建了一个非常基本的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 一直在等待答案?。