出于测试目的,我将tcp消息发送到本地服务器,如下所示:
echo -e "some message" | netcat localhost 1234
使用brew install netcat
安装netcat。
这样可以正常工作,除非这会阻塞相当长的时间(大约一分钟)。我尝试使用选项“-w 1”来指定超时,但这并没有改变任何东西。
另一端的进程是spring-xd tcp源。
有没有其他方法可以发送不会阻塞那么长的tcp消息?
答案 0 :(得分:3)
我没有在linux上看到这样的延迟;没有尝试过OS X(它来自nc
)。
您的流定义是什么?默认的tcp源要求数据以CRLF终止 - 例如telnet localhost 1234
。 netcat需要一个RAW
解码器。
修改强>:
我刚刚测试了
xd:>stream create foo --definition "tcp --decoder=RAW | log" --deploy
与
$ echo "foo" | nc localhost 1234
并没有问题。