我正在寻找一种简单的方法来监控我们办公室的互联网连接以防掉线。第二个梦想是还监视其他“狡猾”的行为——丢包、抖动等。但主要目标是监视断开的连接。每秒 ping 一次 Google 可以很好地关注延迟,但我们遇到了一些暂时的问题,这些问题导致一些流媒体服务陷入困境,但并没有影响连接延迟。IT 部门有时还决定阻止传出的 ICMP 流量,这对不起眼的 ping 工具的工作没有帮助。
如果这不是已经通过开源、免费软件或商业工具提供的东西,理想情况下,我希望能够在 Ruby(或者,如果强制,.NET)中提供一些东西,它将打开一个“长”的 TCP 连接到端口 80 上的任意 Web 服务器(即我不想写一些东西来保持托管服务器上的套接字打开)并让程序检测并警告办公室中的人如果连接在“坏”中断开方法。我尝试使用 Ruby Socket ( http://www.ruby-doc.org/stdlib-1.9.3/libdoc/socket/rdoc/Socket.html) 我无法在这里提取准确的错误代码;理想情况下,我想将实际的网络连接问题与通常的连接超时隔离开来。超时时,我想默默地重新启动连接,但在真正退出时,我会在屏幕上闪现一些大而明显的东西,以提醒办公室里的人。
我花了一天的大部分时间在谷歌上搜索这种监控的例子,并试图一起破解一些东西,但似乎这不是一个常见的请求。99% 的结果都是论坛帖子,以我被权威告知 speedtest.net 会做我需要的一切为结尾。我自己的尝试都被证明是徒劳的——无论我尝试了哪种方式,每当我似乎到达某个地方时,即使是最基本的掉线测试(从我的笔记本电脑上拔下网络电缆!)也无法被检测到。
这是微不足道的事情吗,如果可以的话,有人能指出我正确的方向吗?还是我进入了一个痛苦的世界?(这就是我过去尝试对网络编程做任何事情时的一般经验......)
或者,是否有任何预先编写的(免费、商业、开源都可以)可以做到这一点?
谢谢!