3368|3

74

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

求助:古怪的套接字问题 [复制链接]

我在编程中用到套接字,代码如下:
WSADATA  wsaData;  
if(  WSAStartup(MAKEWORD(2,0),  &wsaData)  
? ?  LOBYTE(wsaData.wVersion)!=  2  )  
return;        
///创建SOCKET对象  
SOCKET  sock  =  socket(AF_INET,  SOCK_STREAM, IPPROTO_TCP  ); //  ppe->p_proto
if(sock  ==  INVALID_SOCKET)  
return;  
        
///根据主机名获得IP地址  
hostent*  pHostEnt=gethostbyname("www.google.com");  
if(pHostEnt==NULL){  
TCHAR szBuf[128];
int  m= WSAGetLastError();
wsprintf(szBuf,_T("%s 出错信息 (出错码=%d): %s"),
                  _T("得到"), m,_T("why?"));
MessageBox(szBuf,
        _T ("Error"), MB_ICONINFORMATION ? MB_OK);
return;  
}
上面执行正常
但是当把("www.google.com")换成("sports.sina.com.cn/basketball/")时就出错了,出错码是
11001,找不到主机,并且当改为("sports.sina.com.cn//basketball//")是仍出错11001,上面是在evc模拟器上下载网页的程序,但是模拟器可以打开("sports.sina.com.cn/basketball/")这个网页,很古怪,不知道是什么原因?还请哪位高手指点,谢谢!

最新回复

我是在evc的emux86模拟器上试验,想实现下在网页页面功能的。  详情 回复 发表于 2008-8-25 19:35
点赞 关注

回复
举报

82

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
gethostbyname是获取主机的信息。

www.google.com是和ip对应的,能找到主机。

sports.sina.com.cn/basketball/对应的是一个页面!!
应该不能通过这个api来获取主机的信息,除非这个api很智能,能
从页面url分析出有效域名来。

不过估计是不行的。

应该说你的做法很古怪。
 
 

回复

55

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
谢谢你!
由于我是新手,能不能请教一下你怎样下载一个页面?就像上面sports.sina.com.cn/basketball/
这个页面一样?
谢谢!
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

4
 
我是在evc的emux86模拟器上试验,想实现下在网页页面功能的。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表