sockets - 在 macos 上通过命令行发送 TCP 消息

标签 sockets command-line tcp spring-xd

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

echo -e "some message" | netcat localhost 1234

使用 brew install netcat 安装 netcat。

除了阻塞相当长的时间(大约一分钟)之外,这工作正常。我尝试使用选项“-w 1”来指定超时,但这并没有改变任何东西。

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

有没有其他方法可以发送不会阻塞那么长时间的 tcp 消息?

最佳答案

我在 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

没有任何问题。

关于sockets - 在 macos 上通过命令行发送 TCP 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29342008/

相关文章:

linux - Ubuntu Linux-Maverick-是否可以在命令行中找到用户名/文件路径并将其作为参数传递?

php - 在 mysql connect (PHP) 中指定协议(protocol)

java - 在eclipse中调试socket通信

go - Youtube-dl直接下载到客户端浏览器

java - Android 套接字连接错误 IP 导致卡住

Windows 命令行 - 根据 Ping 延迟选择服务器

go - 调用 tcp : lookup ip-x-x-xx. ec2.internal: 没有这样的主机

linux - 在linux中读取send-q TCP socket的内容

linux - 如何在 Linux 内核中找到 sk_buff 的所有者套接字?

java - Flash发送的未知数据包