LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 740|回复: 6

请问: 怎样检测是否联接到Internet

[复制链接]
发表于 2004-7-21 14:26:13 | 显示全部楼层 |阅读模式
Linux与Windows下, 如何用C语言检测是否联接到Internet(adsl拨号和调制接调器拨号), 有什么样的API接口?
比如说, 我打算自己写一个计时程序来控制上网的时间, 我计划在脚本中调用adsl-start之后, 立即调用这个程序. 我当然不希望在没有拨号而又单独调用这个程序时它仍会计时, 所以我觉得需要有一种办法在程序中检测是否已经拨号到了Internet.
谢谢!
发表于 2004-7-21 19:12:04 | 显示全部楼层
这个东西没做过,检查连接到Internet的socket是否有效应该可以吧。
发表于 2004-7-22 00:34:22 | 显示全部楼层
如果是拨号,最多也就检测ppp接口有没有起来,但是没法判断是否是internet连接阿
发表于 2004-7-22 06:30:04 | 显示全部楼层
以前我做的程序就是实现 ping  功能还测试网络的
发表于 2004-7-22 10:20:26 | 显示全部楼层
没有什么绝对的方法吧。ping之类的,万一关掉了igmp就不能用了。比较保险的方法是找几个基本可以确保一直在线的网站,例如google,去连接它,连的上自然没事。
发表于 2004-7-22 10:24:47 | 显示全部楼层
楼上说的对,如果关掉了 80 或防火墙全关了什么也没用。
发表于 2004-7-22 21:34:07 | 显示全部楼层
我用的是debian,写个脚本放到/etc/ppp/ip-up.d和/etc/ppp/ip-down.d里就可以了。
ip-up.d/里的脚本在adsl连接上以后运行,ip-down.d/里的脚本在断网时运行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表