是否可以从Javascript ping服务器?

是否可以从Javascript ping服务器?

我正在制作一个Web应用程序,要求我检查远程服务器是否在线。当我从命令行运行它时,我的页面加载速度达到了整整60秒(对于8个条目,它会随着更多线性线性扩展)。

我决定在用户端进行ping操作。这样,我可以加载页面,让他们在浏览我的内容时等待“服务器在线”数据。

如果有人对上述问题有答案,或者他们知道解决方案以保持我的页面加载速度快,我肯定会感激


慕容708150
浏览 358回答 3
3回答

慕斯王

你可以试试这个:在有或没有任何内容的服务器上放置ping.html,在javascript上执行如下操作:<script> &nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;ping(){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$.ajax({ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url:&nbsp;'ping.html', &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;success:&nbsp;function(result){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert('reply'); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error:&nbsp;function(result){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert('timeout/error'); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}); &nbsp;&nbsp;&nbsp;&nbsp;}</script>

噜噜哒

Ping是ICMP,但如果远程服务器上有任何打开的TCP端口,则可以像这样实现:function&nbsp;ping(host,&nbsp;port,&nbsp;pong)&nbsp;{ &nbsp;&nbsp;var&nbsp;started&nbsp;=&nbsp;new&nbsp;Date().getTime(); &nbsp;&nbsp;var&nbsp;http&nbsp;=&nbsp;new&nbsp;XMLHttpRequest(); &nbsp;&nbsp;http.open("GET",&nbsp;"http://"&nbsp;+&nbsp;host&nbsp;+&nbsp;":"&nbsp;+&nbsp;port,&nbsp;/*async*/true); &nbsp;&nbsp;http.onreadystatechange&nbsp;=&nbsp;function()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(http.readyState&nbsp;==&nbsp;4)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;ended&nbsp;=&nbsp;new&nbsp;Date().getTime(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;milliseconds&nbsp;=&nbsp;ended&nbsp;-&nbsp;started; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(pong&nbsp;!=&nbsp;null)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pong(milliseconds); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;}; &nbsp;&nbsp;try&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;http.send(null); &nbsp;&nbsp;}&nbsp;catch(exception)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;this&nbsp;is&nbsp;expected &nbsp;&nbsp;}}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript