关于网友提出的“ 2字节整型如何通过Socket发送”问题疑问,本网通过在网上对“ 2字节整型如何通过Socket发送”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 2字节整型如何通过Socket发送
描述: 服务器端与客户端通过Socket通信。发送2字节的整型变量,接收端根据长度截取发送端发送的内容,发送端如何发送2字节的整型变量才能保证接收端能够正确接收数据?C++ 中Socket是不是必须的转换成字符串?以short 类型为例 ,例如 0x1234占2字节,如果在发送过程中转化成字符串,就变成了四个字节了吧?
解决方案1: 直接send就可以啊,如果两边大小端相同,直接强制转换一下就可以用。
send((char*)uint,2);
解决方案2:
buf[0] = num/256
buf[1] = num%256
解决方案3: 转换成16进制即可,如果要压缩的话采用BCD压缩形式都可以发送的。
解决方案4:
这个是大小端的问题,和机器有关,和c++没关系。
解决方案5: 不知道有多少前人掉在TCP Socket
send(人多)send(病少)send(财富)
recv(人多病)recv(少财富)
陷阱里面啊!
http://bbs.csdn.net/topics/380167545
以上介绍了“ 2字节整型如何通过Socket发送”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3628172.html