问题,使用socket发送数据时,char数组中遇到0x00处,后面的数据都不再发送,收到的数据从0x00处开始,后面都为0x00。
原因:在发送数据调用send函数之前,将要发送的数据拷贝到buf中,使用的字符串拷贝函数 strcpy,strcpy(buf,recvbuf),使用此函数拷贝后,遇到0x00,就认为数据结束了,字符串结束了,后面的数据就不再发送,因此收到的数据,只要出现0x00之后的都为0x00。
解决:拷贝数据应使用memcpy。memcpy(buf,recvbuf,len);