【发布时间】:2016-05-12 08:39:16
【问题描述】:
我通过一个套接字接收多条消息:
result = recvmmsg(socket_, &messages_[0], MAX_NUM_MSG, MSG_WAITFORONE, NULL);
我想获取源地址和端口,但是当我尝试时,结构分配中出现错误:
msg = &messages_[0];
***struct sockaddr *src = &msg->msg_hdr.msg_name;***
srcport = ntohs(src->sin_port);
srcaddr = ntohl(src->sin_addr.s_addr);
从“void**”到“sockaddr*”的无效转换
【问题讨论】:
-
你考虑过演员吗?
-
您好,感谢您的回答。是的,我做到了。深入研究我在调试中看到的问题,即 msg->msg_hdr.msg_name 为空,这真的让我很担心.....所以,当调试并通过那里时,会发生错误的终止。
标签: sockets