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