异步消息的网络程序,总是发送数据失败,求解答!
- C/C++ code
DWORD dwIP; CString strSend; WSABUF wsabuf; DWORD dwSend= 0; int len; SOCKADDR_IN addrTo; CString strHostName; HOSTENT* pHost; if(GetDlgItemText(IDC_EDIT_HOSTNAME,strHostName),strHostName=="") { ((CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS1))->GetAddress(dwIP); addrTo.sin_addr.S_un.S_addr=htonl(dwIP); } else { USES_CONVERSION; LPSTR stt = W2A(strHostName); pHost=gethostbyname(stt); addrTo.sin_addr.S_un.S_addr=*((DWORD*)pHost->h_addr_list[0]); } addrTo.sin_family=AF_INET; addrTo.sin_port=htons(6043); GetDlgItemText(IDC_EDIT_SEND,strSend); len=strSend.GetLength(); WideCharToMultiByte(CP_ACP,0,strSend.GetBuffer(len),-1,NULL,0,NULL,FALSE); USES_CONVERSION; wsabuf.buf = W2A(strSend.GetBuffer(len)); wsabuf.len=len+1; if(SOCKET_ERROR==WSASendTo(m_socket,&wsabuf,1,&dwSend,0, (SOCKADDR*)&addrTo,sizeof(SOCKADDR),NULL,NULL)) { MessageBox(_T("发送数据失败!")); return ; } SetDlgItemText(IDC_EDIT_SEND,_T(""));总是发送数据失败唔。这段代码有错误吗?
[解决办法]
m_socket异常