33,311
社区成员
发帖
与我相关
我的任务
分享
m_socket = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
if (m_socket == INVALID_SOCKET)
{
return SOCKET_ERROR;
}
int nRet = sendto(m_socket, pData, nLen, 0, (sockaddr *)&addrTo, sizeof(addrTo));
if (nRet == SOCKET_ERROR)
{
closesocket(m_socket);
m_socket = INVALID_SOCKET;
return nRet;
}
// 发送成功,取系统分配得到的UDP端口。
sockaddr_in addrLocal;
int nTemp;
if (getsockname(m_socket, (sockaddr *)&addrLocal, &nTemp) != SOCKET_ERROR) // 在这里返回 SOCKET_ERROR,WSAGetLastError()得到 10014 错误。
{
m_strHost = inet_ntoa(addrLocal.sin_addr);
m_nPort = htons(addrLocal.sin_port);
}
sockaddr_in addrLocal;
int nTemp=sizeof(addrLocal);//必须初始化它
if (getsockname(m_socket, (sockaddr *)&addrLocal, &nTemp) != SOCKET_ERROR) {
m_strHost = inet_ntoa(addrLocal.sin_addr);
m_nPort = htons(addrLocal.sin_port);
}