我在WinCE5.0下进行网络通信(多播通信),需要禁用回环输出。
调用以下函数:
//设置套接字选项,禁止多播数据包回环回馈
/*
const int loopback = 0;
result = setsockopt(UDPMulticast,IPPROTO_IP,IP_MULTICAST_LOOP,(char*)&loopback,sizeof(loopback));
if(result == SOCKET_ERROR)
{
AfxMessageBox(TEXT("设置禁止回环反馈失败"));
CString str; //打印错误原因
str.Format(TEXT("%d"),WSAGetLastError());
AfxMessageBox(str);
closesocket(UDPMulticast); //出错后关闭程序
WSACleanup();
AfxGetApp()->m_pMainWnd->PostMessage(WM_CLOSE);
AfxEndThread(-1);
}
现在调用此函数出错,用WSAGetLastError()返回值为6,Error lookup说是无效的句柄。在Windows XP下此段代码运行正常。在
WinCE 5.0下就出现此错误。是不是WinCE不支持啊?望高手指教!