void CChatDlg::OnBnClickedBtnSentto()
{
// TODO: 在此添加控件通知处理程序代码
CString strsend;
WSABUF wsabuf;
DWORD ipAddr;
DWORD dwSend;
SOCKADDR_IN sockto;
((CIPAddressCtrl*)GetDlgItem(IDC_IPADDR))->GetAddress(ipAddr);
sockto.sin_addr.S_un.S_addr=htonl(ipAddr);
sockto.sin_family=AF_INET;
sockto.sin_port=htons(6000);
GetDlgItemText(IDC_EDIT_CONTEXT,strsend);
int len=strsend.GetLength();
wsabuf.buf=strsend.GetBuffer(len);
wsabuf.len=len+1;
if(SOCKET_ERROR==WSASendTo(m_socket,&wsabuf,1,&dwSend,NULL,(SOCKADDR*)&sockto,sizeof
(SOCKADDR),NULL,NULL))
{
MessageBox("发送数据失败!");
int i=WSAGetLastError();
CString c;
c.Format("%d",i);
MessageBox(c);//老是显示1400 查了下 貌似是窗口句柄无效 我这网络新手 确实不知道怎么解决啊
return;
}
return;
}
有谁能给个办法吗?
VS2010 VC++的MFC环境
------解决方案--------------------------------------------------------
{
int i=WSAGetLastError();
MessageBox("发送数据失败!");
失败后立即取错误码。
------解决方案--------------------------------------------------------
没看懂....
MFC环境,使用CSocket类很方便的嘛.
啥都封装了,拿来用就OK了....