udp一对一通信,困扰了许久,希望大神可以给我指点下,谢谢
梦魇成佛 2017-12-13 06:25:35 问题:我想建立基于UDP一对一的通信,但是为什么接收不到数据?
WSADATA wsaData;
int err = WSAStartup(MAKEWORD(2,2),&wsaData);
if(0 != err)
{
AfxMessageBox(_T("初始化Socket失败"));
return FALSE;
}
if(2 != LOBYTE(wsaData.wVersion) || 2 != HIBYTE(wsaData.wVersion))
{
WSACleanup();
AfxMessageBox(_T("Socket版本错误"));
return FALSE;
}
if ((m_sockClient = socket(AF_INET, SOCK_DGRAM, 0)) == INVALID_SOCKET)
{
AfxMessageBox("ERROR: Create Client Socket Error!");
return FALSE;
}
m_serverAddr.sin_family = AF_INET;
m_serverAddr.sin_port = htons(m_nServerPortNo);
m_serverAddr.sin_addr.s_addr = inet_addr(m_addrServer);
size = sizeof(m_serverAddr);
CString strIp;
strIp.Format("%s,%d",m_addrServer,m_nServerPortNo);
AfxMessageBox(strIp);
struct sockaddr_in m_ClientAddr;
m_ClientAddr.sin_family = AF_INET;
m_ClientAddr.sin_port = htons(50004);
m_ClientAddr.sin_addr.s_addr = inet_addr("192.168.5.1");
if ((bind(m_sockClient,(LPSOCKADDR)&m_ClientAddr, sizeof(m_ClientAddr)))==SOCKET_ERROR)
{
AfxMessageBox("ERROR: Bind Socket Error!");
exit(-1);
}
sendto(m_sockClient,strSend,strlen(strSend),0,(struct sockaddr*)&m_serverAddr,size);
lenth = recvfrom(m_sockClient, gcInBuffer, 256, 0, (struct sockaddr *)&m_serverAddr,&size) );