我对从 Unix 服务器到 Pure Data 的 TCP/IP 通信感兴趣。我在 Unix 服务器端使用套接字,在纯数据端使用 netclient 实现了它。为此,我利用了聊天服务器教程(3.Networking > 10.chat_client.pd)。
现在的问题在于服务器将数据作为以“;”分隔的“字符串”消息流式传输。
我的问题是,有没有办法将字符串消息以外的东西发送到 Pure Data,比如字节流或序列化数字流?Pure Data 能收到这样的消息吗?
由于字符串需要太多字节来传输,例如数字“1024;” 已经是 5 个字节,而这样的整数只有 4 个字节。
更新:对于偶然发现这篇文章以寻找答案的每个人。
显然,纯数据端的 [netclient] 只能收到 ; 分隔的消息。所以上面提出的问题的解决方案: 我的问题是,有没有办法向纯数据发送字符串消息以外的东西,比如字节流或序列化数字流?Pure Data 能收到这样的消息吗?
解决方法是使用[tcpclient],它可以接收字节流数据。
现在我的问题是,我如何获得四个紧凑的数字? 现在我有一系列字节,至少按正确的顺序。
从我的 UNIX 服务器我发送一个结构
typedef struct {
int var_code;
int sample_time;
int hr;
float hs;
} phy_data;
样本数据可能是 2 1000000 51 2000.56
当在 Pure Data 中接收和打印时,我得到如下输出:
: 0 0 0 2 0 10 114 26 0 0 0 51 0 16 242 78
你可以清楚地注意到 2 号和 51 号,我猜其他的也是正确的。
如何将这些数字恢复为可用格式? 也许对 [bytes2any] 和 [route] 进行了一些操作,但我无法用它提取数据?