读书人

linux网络编程send发送的有关问题

发布时间: 2013-07-01 12:33:04 作者: rapoo

linux网络编程send发送的问题

                                Linux                  网络编程              
[解决办法]
你放心,如果函数的参数要求这样,那么就是正确的,至于send会把它变成什么类型,可以忽略,这就是接口。
[解决办法]
数据流。。。
够6个字符了吧
[解决办法]

pStr -> 0x0000000A000000B0000000C0hello0
第一个字符就是'\0',当然%s打印是打印不出来的。
[解决办法]
(char *)pStr:这里用不用char *强制转化都无所谓,send函数发送从pStr指向的地址开始的,大小为sizeof(struct struCommPacket)的连续内存上的数据;

pStr指向的始终是结构体Str = {10, 11, 12, "hello"};的首地址,不管用什么类型来强制转化pStr,它一直指向Str的首地址不变,只是引用方式变了;

打印指针是printf("%p\n", pStr);,%s是打印字符串;
[解决办法]
ssize_t send(int sockfd, const void *buff, size_t nbytes, int flags);
sockfd:指定发送端套接字描述符。
buff: 存放要发送数据的缓冲区
nbytes: 实际要改善的数据的字节数
flags: 一般设置为0

[解决办法]
没有任何关系,你发的什么你接收端必须知道,接收端到时候再把(char*)强转成实际类型就行了。这种模型很常用。

读书人网 >UNIXLINUX

热点推荐