在 macosx 上通过命令行发送 TCP 消息

use*_*468 3 sockets command-line tcp spring-xd

出于测试目的,我将 tcp 消息发送到本地服务器,如下所示:

echo -e "some message" | netcat localhost 1234
Run Code Online (Sandbox Code Playgroud)

使用brew install netcat.

这工作正常,除了这会阻塞很长时间(大约一分钟)。我尝试使用选项“-w 1”来指定超时,但这不会改变任何内容。

另一端监听的进程是spring-xd tcp源。

有没有其他方法可以发送不阻塞的 tcp 消息?

Gar*_*ell 6

我在 linux 上没有看到过这样的延迟;没有在 OS X 上试过(它是随附的nc)。

你的流定义是什么?默认的 tcp 源期望数据以 CRLF 终止 - 例如telnet localhost 1234。您需要一个RAW用于 netcat的解码器。

编辑

我刚测试

xd:>stream create foo --definition "tcp --decoder=RAW | log" --deploy
Run Code Online (Sandbox Code Playgroud)

$ echo "foo" | nc localhost 1234
Run Code Online (Sandbox Code Playgroud)

并且没有问题。