在bc中使用gethostbyname()函数的问题?

creekcpj 2001-11-03 12:20:57
小弟我刚接触windows Socket编程,我写了下面的代码,但是使用gethostbyname()后得到的h_addr无法理解。
char smtp_server_name[255];
struct hostent far *smtp_server_dns;
WSAData version_info;
memset(smtp_server_name,0,256);
strncat(smtp_server_name,"smtp.163.net",256);
WSAStartup((WORD)((1<<8)|1), &version_info);
smtp_server_dns=gethostbyname(smtp_server_name);//获得用户指定的smtp和pop服务器主机信息
....
这时smtp_server_dns->h_addr在“local variables"调试窗口中显示的是“乱码op.163.net",而且h_length的值为4,h_addrtype=2,得到的地址不是标准“a.b.c.d"的形式,随后调用connect()对smtp_sockaddr_in.sin_addr.s_addr=inet_addr(smtp_server_dns->h_addr);进行连接也失败(返回值不为0)。
直接用gethostbyname("smtp.163.net");结果也是这样。
请各位大虾指点...,万分感谢!
...全文
36 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
NowCan 2001-11-04
  • 打赏
  • 举报
回复
我有一个得到本机IP的程序,没问题的.到我的主页看看.
http://nowcan.yeah.net

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧