
请问在使用send函数的时候,我使用strlen()计算长度与使用recv返回值的字节大小有啥区别?
比如recv函数返回值为numsize,数组buf;那么send(sock,buf,numsize,0);send(sock,buf,strlen(buf),0);有啥区...
比如recv函数返回值为numsize,数组buf;那么
send(sock,buf,numsize,0);
send(sock,buf,strlen(buf),0);
有啥区别,网络数据recv接收到的是二进制吗?发的时候必须使用numsize字节大小吗? 展开
send(sock,buf,numsize,0);
send(sock,buf,strlen(buf),0);
有啥区别,网络数据recv接收到的是二进制吗?发的时候必须使用numsize字节大小吗? 展开
1个回答
展开全部
貌似strlen判断时发现字符串中止的标记就停了,所以有时strlen(buf)的大小和numsize不一样
更多追问追答
追问
谢谢 但是为什么有的时候使用两种方式都是对的 有的时候使用numsize就是错的 好奇怪的现象 难道发送的数据还要分几种 ?发送的数据可能是字符 或者二进制 十六进制?》???
追答
发送的数据其实就是buf地址下内存里的东西,看你的需要了,如果你的程序主要是聊天用的,那么传输的都是字符串,send的时候用strlen(buf)就节约空间了。 numsize有可能比strlen(buf)大啊,另外传送2字节或4字节整形的数据时候注意要注意字节序的转换。

2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询