一个看似容易其实麻烦的难题(网络方面)

hackerning 2001-07-21 11:49:44
QQ里头是怎么先区分局域网和互联网上的IP的?我们所用的GETHOSTBYNAME(0)等都是如果装有网佧就先侦测出网佧分配的IP,如果没有网佧才能识别出上网时的IP,这个问题怎么解决啊,
呵呵,帮忙问问撒:0

当然我门可以用下面的方法:
先用gethostname(0)

gethostbyname返回一个HOSTENT结构指针。
再来看hostent结构的定义:
struct hostent {
char FAR * h_name;
char FAR * FAR * h_aliases;
short h_addrtype;
short h_length;
char FAR * FAR * h_addr_list; //就是这里了
};

Members
h_name
Official name of the host (PC). If using the DNS or similar resolution system, it is the Fully Qualified Domain Name (FQDN) that caused the server to return a reply. If using a local hosts file, it is the first entry after the IP address.
h_aliases
Null-terminated array of alternate names.
h_addrtype
Type of address being returned.
h_length
Length of each address, in bytes.
h_addr_list
Null-terminated list of addresses for the host. Addresses are returned in network byte order. The macro h_addr is defined to be h_addr_list[0] for compatibility with older software.

呵呵,看到这里应该就差不多可以搞掂了。
h_addr_list里面存在有所有本机的IP。把它一一枚举出来就OK了。

但是问题是怎么枚举出来呢,h_addr_list[0],h_addr_list[1],h_addr_list[2]这样吗?我试了,死机,不行。。。。。。。。。。。。。

怎么能够分得清哪些是公网IP,哪些是内网IP呢????????!!!!!!!!!!!
...全文
76 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文介绍了SICK公司生产的LRS4581R-230001型激光扫描仪的技术参数与产品特性。该设备适用于室内外环境,采用886 nm红外光源,符合激光安全等级1级标准,具备360°水平开启角度和多种可调角度分辨率(最低0.02°),扫描频率可达25 Hz。其工作距离可达300 m,对不同反射率物体的有效扫描范围分别为250 m(90%漫反射)和80~100 m(10%漫反射)。设备配备自加热功能,可在-30 °C至+50 °C环境下稳定运行,防护等级达IP65/IP67,适应恶劣工业条件。支持Ethernet(TCP/IP、UDP/IP)、数字I/O及编码器输入接口,便于系统集成。内置多种滤波器和区域评估功能,提升数据准确性。附带推荐配件信息及安装指南,方便实际部署。; 适合人群:工业自动化工程师、系统集成商、从事智能传感技术研发的专业技术人员,以及需要高精度远程测距与环境感知解决方案的设计人员; 使用场景及目标:①用于户外或室内复杂环境下的精确轮廓检测、障碍物识别与定位;②集成于AGV、自动驾驶车辆、港口机械、堆垛机等移动设备中实现导航与避障;③应用于建筑测绘、地形扫描、安全监控等远距离测量任务; 阅读建议:此资料为技术规格说明书,建议结合具体工程项目需求查阅关键参数,重点关注扫描性能、环境适应性及接口配置,以便正确选型与集成应用。

18,357

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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