我在做一个小聊天程序  可以根据ip控件的ip地址或者根据编辑筐中的hostname发送信息
结果ip控件那部分成功了。hostname却中止程序。到底是哪里的问题啊void CChatDlg::OnBtnSend() 
{
// TODO: Add your control notification handler code here
WSABUF WSASendBuf;
WSASendBuf.buf=new char[200];
WSASendBuf.len=200;
CString strSend;
GetDlgItemText(IDC_EDIT_SEND,strSend);
WSASendBuf.buf=strSend.GetBuffer(strSend.GetLength()+1); DWORD dwBytesSent; SOCKADDR_IN addrTo;
addrTo.sin_family=AF_INET;
addrTo.sin_port=htons(6000); CString strHost;
hostent *pHost;
GetDlgItemText(IDC_EDIT_HOSTNAME,strHost);
if(strHost=="")
{
//use IP
DWORD dwIP;
((CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS1))->GetAddress(dwIP);
addrTo.sin_addr.S_un.S_addr=htonl(dwIP);
}
else
{
//use hostname
pHost=gethostbyname(strHost);
addrTo.sin_addr.S_un.S_addr=*((DWORD*)(pHost->h_addr_list)); } int sendRes;
sendRes=WSASendTo(m_socket,&WSASendBuf,1,&dwBytesSent,0,(SOCKADDR*)&addrTo,sizeof(SOCKADDR),
NULL,NULL);
if(sendRes==SOCKET_ERROR)
{
MessageBox("发送失败");
return;
}}