社区
网络编程
帖子详情
gethostbyname
ji_angwen
2010-04-08 01:58:07
调用gethostbyname返回错误WSAHOST_NOT_FOUND怎么解决?
...全文
129
9
打赏
收藏
gethostbyname
调用gethostbyname返回错误WSAHOST_NOT_FOUND怎么解决?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Un1
2010-04-26
打赏
举报
回复
WSAStartup
【天运子】
2010-04-17
打赏
举报
回复
先获得本机主机名,pHost=gethostbyname(strHostName);
strHostName应该是主机名吧,你好像是写进去的
用char HostName[100];
gethostname(HostName, sizeof(HostName));// 获得本机主机名.
试试不知有没有用对你
ji_angwen
2010-04-16
打赏
举报
回复
自己顶咯
ji_angwen
2010-04-12
打赏
举报
回复
正常代码:
void CChatDlg::OnBtnSend()
{
// TODO: Add your control notification handler code here
DWORD dwIP;
CString strSend;
WSABUF wsabuf;
DWORD dwSend;
int len;
SOCKADDR_IN addrTo;
((CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS1))->GetAddress(dwIP);
addrTo.sin_addr.S_un.S_addr=htonl(dwIP);
addrTo.sin_family=AF_INET;
addrTo.sin_port=htons(6000);
GetDlgItemText(IDC_EDIT_SEND,strSend);
len=strSend.GetLength();
wsabuf.buf=strSend.GetBuffer(len);
wsabuf.len=len+1;
SetDlgItemText(IDC_EDIT_SEND,"");
if(SOCKET_ERROR==WSASendTo(m_socket,&wsabuf,1,&dwSend,0,(SOCKADDR*)&addrTo,sizeof(SOCKADDR),NULL,NULL))
{
MessageBox("发送数据失败!");
return;
}
}
加了if-else语句后的错误代码:
void CChatDlg::OnBtnSend()
{
// TODO: Add your control notification handler code here
DWORD dwIP;
CString strSend;
WSABUF wsabuf;
DWORD dwSend;
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
{
pHost=gethostbyname(strHostName);
int nihao=WSAGetLastError();
CString str;
str.Format("%d",nihao);
if(WSAHOST_NOT_FOUND==nihao)
{
MessageBox("是的1");
}
if(WSATRY_AGAIN==nihao)
{
MessageBox("是的2");
}
if(WSANO_RECOVERY==nihao)
{
MessageBox("是的3");
}
addrTo.sin_addr.S_un.S_addr=*((DWORD*)pHost->h_addr_list[0]);
}
addrTo.sin_family=AF_INET;
addrTo.sin_port=htons(6000);
GetDlgItemText(IDC_EDIT_SEND,strSend);
len=strSend.GetLength();
wsabuf.buf=strSend.GetBuffer(len);
wsabuf.len=len+1;
SetDlgItemText(IDC_EDIT_SEND,"");
if(SOCKET_ERROR==WSASendTo(m_socket,&wsabuf,1,&dwSend,0,(SOCKADDR*)&addrTo,sizeof(SOCKADDR),NULL,NULL))
{
MessageBox("发送数据失败!");
return;
}
}
AIHANZI
2010-04-11
打赏
举报
回复
把你的代码贴出,看下是不是之前的代码错了
ji_angwen
2010-04-08
打赏
举报
回复
我比较笨咯,步骤说详细点,
ji_angwen
2010-04-08
打赏
举报
回复
怎么让它返回正常??
xingworld
2010-04-08
打赏
举报
回复
就是没有找到,DNS 没有返回正确的解析结果
Eleven
2010-04-08
打赏
举报
回复
WSAHOST_NOT_FOUND
Authoritative answer host not found.
用get
host
byname
来获得域名信息
用get
host
byname
来获得域名信息
VC get
host
byname
获取主机名和IP地址.rar
VC 获取主机名和IP地址,也就是根据主机名获得IP地址,使用了get
host
byname
函数,然后再使用addr.Format格式化获取到IP地址。具体来看以下代码获取到IP地址: // 获得主机ip地址 struct
host
ent * p
host
; ...
get
host
byname
_r在某些linux版本中多线程不安全问题.pdf
get
host
byname
_r在某些linux版本中多线程不安全问题.pdf
get
host
byname
用法
get
host
byname
的用法,查询域名的IP,很简单,免费下载
get_myaddress.rar_Get
Host
ByName
_get
host
byname
linux
use get
host
byname
, which would invoke NIS.
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章