请问一个关于网络UDP组播的有关问题
请教一个关于网络UDP组播的问题
设计的意图是让本地IP加入一个组,从组接收UDP报文
头文件部分
源文件部分
为什么加入组播的setsockopt会返回SOCKET_ERROR
打印出错误代码为10022的错误
在网上查了一下 但是解释不太清楚 没怎么懂
有达人能清晰的说明一下怎么才能实现加入组播接收吗
------解决思路----------------------
------解决思路----------------------
我来都来了,给点分吧
------解决思路----------------------
设计的意图是让本地IP加入一个组,从组接收UDP报文
头文件部分
#include <winsock2.h>
#include <Ws2tcpip.h>
#pragma comment(lib,"ws2_32.lib")
源文件部分
_sFd = socket(AF_INET, SOCK_DGRAM, 0);//定义UDPsocket
//一些setsockopt设置
//...
//加入组播
struct ip_mreq mltiCast;
memset(&mltiCast, 0, sizeof(mltiCast));
mltiCast.imr_multiaddr.s_addr = inet_addr("224.0.18.2"); //要加入的组
mltiCast.imr_interface.s_addr = inet_addr("192.168.18.103"); //本地指定IP
DWORD tpdw = 0;
if (SOCKET_ERROR == setsockopt(_sFd, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *)&mltiCast, sizeof(mltiCast)))
{
tpdw = WSAGetLastError();
printf("add group err %d\n", tpdw);
}
为什么加入组播的setsockopt会返回SOCKET_ERROR
打印出错误代码为10022的错误
在网上查了一下 但是解释不太清楚 没怎么懂
有达人能清晰的说明一下怎么才能实现加入组播接收吗
------解决思路----------------------
------解决思路----------------------
我来都来了,给点分吧
------解决思路----------------------