------计划目标------
网站能显示所有Ping B服务器得出的所有结果(IP表及网站在A服务器)
------计划器材------
A服务器(香港) - 保存被Ping的IP列表+网站
B服务器(国内) - 主动去Ping A服务器的IP列内各粒
网站(A服务器内)
------计划做法------
网站打开 --> 自动要求A服务器将IP列表传给B服务器 --> B服务器收到并进行Ping --> 将IP列表内所有Ping的结果传回给A服务器 --> A服务器将结果上载到网站并显示给用家
------遇到难点------
如何令A服务器自动发送IP列表给B服务器并使B服务器进行Ping A服务器提供的IP列表再将结果传回给A服务器?
------期望获得------
有什么技术可以做到? 如何做到? (例如API?)
我比较熟悉shell,你可以写一个shell脚本来实现该功能。
1、A、B两台主机做免密的互信任
2、编写shell脚本放在A主机,A收到命令后执行该shell脚本
3、编写shell脚本放在B主机,可以实现在B主机ping网站和ip,然后再将结果传回给A
3、A主机脚本大概功能及主要命令:
(1)scp 本地ip及网站列表 root@B主机ip:远程B主机目录 ##将A主机的ip及网站目录传送给B主机
(2)ssh root@B主机ip B.sh ##远程B主机并执行B主机上的脚本
4、B主机脚本大概功能及主要命令:
(1)cat ip.tzt |while read line; do ping -c 4 $line >> result.log; done ##打开ip列表并按行进行ping操作,将结果写入日志
此处可以按照自己的需求或者想要的结果返回形式再做具体修改
(2)scp 生成结果文件 root@A主机ip:远程A主机目录 ##将B主机生成的结果传送回A主机
你需要双向通讯的机制,比如说WebSocket或者LongPulling。至于ping,你调用操作系统的命令行即可,获取输出流再返回。
首先看你自己熟悉哪种编程语言吧!不管是哪种语言,都会有对应的api老操作socket连接和ping ip的操作,你只需要在服务器A和服务器B之前建立socket
,然后A服务器将IP列表给B服务器,B服务器收到后,调用对应语言的API,将每个对应的IP地址ping一遍,再将结果传回B。具体的API和用法自己可以根据你选的编程语言百度啊!这个应该没什么难做的吧!