Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.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_Linux_Client Server_Mode - Fatal编程技术网

C 客户端-服务器程序和模式

C 客户端-服务器程序和模式,c,linux,client-server,mode,C,Linux,Client Server,Mode,我需要通过套接字发送mode\t类型的变量。我该怎么做?我的意思是,我可以使用snprintf()将其转换为字符串……但它可以吗 谢谢模式是一个整数 实际上,在套接字上使用文本协议是非常有用的(更容易调试和发展) 当然可以使用字符串。但是,如果您想将其作为整数发送,您可以从标题中检查htobe32和be32toh等函数。要安全地传输模式,必须将其转换为其他形式。没有理由相信通信的两台主机将为模式使用相同的标志定义,因此将其打印为整数甚至是不够的;您需要迭代所有模式标志并检查每个标志。这些是函数h

我需要通过套接字发送mode\t类型的变量。我该怎么做?我的意思是,我可以使用snprintf()将其转换为字符串……但它可以吗


谢谢

模式
是一个整数


实际上,在套接字上使用文本协议是非常有用的(更容易调试和发展)

当然可以使用字符串。但是,如果您想将其作为整数发送,您可以从标题
中检查
htobe32
be32toh
等函数。

要安全地传输
模式
,必须将其转换为其他形式。没有理由相信通信的两台主机将为
模式使用相同的标志定义,因此将其打印为整数甚至是不够的;您需要迭代所有模式标志并检查每个标志。

这些是函数
htonl
ntohl
的丑陋的非标准名称。。。另外,谁说模式必须适合32位,或者甚至在插槽的两端都有相同的位模式?@R。。是的,但它有64位变体,即使在这种情况下不需要它。