gpt4 book ai didi

sockets - Clojure TCP 客户端的测试工具

转载 作者:可可西里 更新时间:2023-11-01 02:47:04 25 4
gpt4 key购买 nike

我正在编写一个 TCP 客户端来连接繁忙网络上的节点、向其发送消息并从中读取响应。我无权访问在这些节点上运行的代码,因此我必须非常仔细地调整通过网络发送的 TCP 消息。

我决定从网络上收集一堆实时 TCP 数据,并将其用作测试我的客户端的基础 - 给定这些输入参数,确保传输的二进制呈现为十六进制我期待看到。

在这一点上,我要么启动 Wireshark 并弄清楚如何过滤我正在发送的数据包,要么实现一个非常简单的 TCP 服务器等待连接,将传输的二进制文件吐到磁盘(可能已处理)到十六进制),然后测试我发送的是我期望发送的内容;两者都不像稳健或专业的解决方案。

那么:您建议如何为 TCP 客户端设置测试工具来验证是否输出了正确的十六进制消息?

最佳答案

你应该看看 aleph对于 tcp 和 gloss用于协议(protocol)。这是一个tutorial和一个 example .

一个简单的 tcp 回显服务器可以是:

(defn echo-handler [ch client-info]
(siphon ch ch)) ;; a simple echo handler

(defn start-server [] (start-tcp-server
echo-handler
{:port 9997}))
(start-server)

如果您在其中对协议(protocol)进行编码并使用“解码”,gloss 将非常有助于将接收到的消息作为十六进制转储或作为值。

关于sockets - Clojure TCP 客户端的测试工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21643561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com