Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 我必须向服务器发送哪些参数?_C_Unix_Tcp_Client_Knx - Fatal编程技术网

C 我必须向服务器发送哪些参数?

C 我必须向服务器发送哪些参数?,c,unix,tcp,client,knx,C,Unix,Tcp,Client,Knx,我无法向服务器发送有效的请求。 我有这个协议描述,但我不明白我必须用socat向服务器发送什么东西 必须始终完整传输标题,即使命令未发送 需要任何参数 命令这是一个大小写很重要的字母(命令“a”和“a”是 例如,情况确实大不相同)。它的大小是8位 param1这是一个16位数字参数。它是按网络字节顺序排列的 主要用于指定KNX设备地址或数据长度 我的问题来自param。我必须发送一个带有空值的16位数字参数。 我该怎么做呢?通常,“空值”表示发送零 如果服务器套接字是sock,则会发送16位:

我无法向服务器发送有效的请求。 我有这个协议描述,但我不明白我必须用socat向服务器发送什么东西

必须始终完整传输标题,即使命令未发送 需要任何参数

命令这是一个大小写很重要的字母(命令“a”和“a”是 例如,情况确实大不相同)。它的大小是8位

param1这是一个16位数字参数。它是按网络字节顺序排列的 主要用于指定KNX设备地址或数据长度

我的问题来自
param
。我必须发送一个带有空值的16位数字参数。 我该怎么做呢?

通常,“空值”表示发送零

如果服务器套接字是
sock
,则会发送16位:

send (sock, "\0\0", 2, 0);

实际上,因为字符串文字总是附加一个空字符,
send(sock,“\0”,2,0)
就足够了。但是将整个消息(头、命令和参数)构建到一个缓冲区中,然后同时
send()
整个过程不是更好吗?@ElchononEdelson:是的,这会更好,但是OP没有指定放在那里的内容,无论如何,我希望保持简单。