有没有办法从 html/javascript 检查 Node.js 服务器是否在线?连接后,我会显示消息,但如果服务器关闭,则不会发生任何情况。有办法做到吗?
谢谢, 米卡
<小时/>是的,感谢您的回答,我在套接字对象上使用了“错误”事件来检测服务器关闭或中断,因此我假设如果报告错误,则服务器已关闭或客户端存在互联网连接问题。
最佳答案
就我而言,我使用的是 socket.io。
当使用socket.io时,你必须向服务器重新请求socketio.js文件,并且当加载该文件时,它声明全局变量io
如果您第一次从标签请求文件时服务器关闭,您将需要重写此标签
var reloadIO = function (){
// if server is not, serveri.io.js will be not available so we need to redeclare de dom node
$("script[src*='socket.io.js']","head").remove();
var script=document.createElement('script');
script.type='text/javascript';
script.src=ioSrc+"?"+Math.floor(Math.random()*111);;
$("head").append(script);
// nullify
script = null;
return;
};
如果你想检查它是否已加载:
var isIOLoaded = function(){
return (typeof(io) != "undefined") ? true : false;
}
这样你就可以使用 setInterval 检查是否声明了 io,如果没有声明,则调用 reloadIO。
关于javascript - 检查node.js服务器是否在线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16508713/