socket怎么传递一个结构体数组,数组中元素为结构体。 10

 我来答
lzxbill7
2012-11-28 · TA获得超过116个赞
知道答主
回答量:74
采纳率:0%
帮助的人:93.4万
展开全部
要首先理解传输原理:
socket其实是字节流传输的,就是说传输的数据本身是无结构的,所以收、发双方要约束好传输的内容结构。

发送方:ssize_t send(int sockfd, const void *buf, size_t len, int flags); 要将要传送的结构体存储在buf里,以首地址指针的形式发送,并且指定好buff的长度。所以一般要将某结构体指针强制转换成void*格式发送。

接收方:ssize_t recv(int sockfd, void *buf, size_t len, int flags); 收到数据后,buf是首地址,所以要强制转换成约定好的结构体,若结构体名为mystruct, 则(mystruct*) buf,这样接收方就可以使用这个数据啦。
========================================================================
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式