前端小白想问,js如何实现,服务器一断开,页面就提示505
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端小白想问,js如何实现,服务器一断开,页面就提示505相关的知识,希望对你有一定的参考价值。
现有项目是nodejs的,我发现计时nodejs的服务关闭了,页面也可以显示。有什么办法能像断网一样,服务器一关闭,页面立刻不能用?求问大神
给你个思路抛板砖引小玉,既然你提到服务器挂掉这种极端恶劣条件,因为服务器挂掉或者不响应自身是无从知晓的,所以只能靠第三方来判断,套路就是,客户端发个长连接或websocket连接到第三方页面,只要独立于目标服务器即可,可以同站,这个页面负责检查目标服务器是否可用,方法也有不少,如果websocket运用纯熟可以做到,简单点,ping也可以,或者服务器定时20秒写一次日志,检查日志是否中断,等等。如果发现服务器有故障就反馈回客户端跳转505页面 参考技术A 前端可以定期发送请求看看后台是否还在运行,页面根据请求结果做处理。追问谢谢,我是想让页面报错,就像断网一样,提示页面飞走了这样的立刻在客户端有反应,
现状是只要页面不刷新,服务器断开又连上对页面没有影响
谢谢回答
参考技术C 后端用了nginx吧?追问谢谢回答,对的用了。目前我是想让页面报错,就像断网一样,提示页面飞走了这样的立刻在客户端有反应,
现状是只要页面不刷新,服务器断开又连上对页面没有影响
这个需求是不划算的。你可以用socket或定时器去判断服务是否已断开,如果断开了,就跳转到页面飞走了的页面
追问明白了,感谢
本回答被提问者采纳如何通过离开页面处理客户端断开的socket.io?
【中文标题】如何通过离开页面处理客户端断开的socket.io?【英文标题】:How to handle socket.io disconnect by client by leaving page? 【发布时间】:2014-12-29 22:00:10 【问题描述】:我有一个socket.io application
和node.js
,我想知道有什么可能性可以响应客户只需关闭他们的浏览器窗口。无论如何都知道这已经完成了吗?可以向服务器发送什么样的信号?
如果我无法判断特定客户端是否已断开连接,我还能做什么?
【问题讨论】:
【参考方案1】:当客户端关闭其浏览器窗口时,socket.io 会触发一个特殊的“断开连接”事件。
假设您的节点服务器文件中需要 socket.io
var io = require('socket.io');
然后你可以监听每个socket触发的'disconnect'事件:
io.on('connection', function(socket)
console.log('a user connected');
socket.on('disconnect', function()
console.log('user disconnected');
);
);
注意 - 这里的套接字由:
io.on('connection', function(socket)
console.log('a user connected');
);
来源:http://socket.io/get-started/chat/
【讨论】:
【参考方案2】:我有一个带有 node.js 的 socket.io 应用程序,我想知道有什么可能性可以响应客户端只需关闭浏览器窗口。无论如何都知道这已经完成了吗?可以向服务器发送什么样的信号?
当浏览器关闭连接时,您在 node.js 端的套接字将收到一个“断开连接”事件,然后您可以对此做出反应。
【讨论】:
【参考方案3】:您想在卸载触发器中通过套接字触发消息。
<body onunload="sendBrowserClosedMessageToServer()">
或者随便你怎么称呼你的钩子。
【讨论】:
以上是关于前端小白想问,js如何实现,服务器一断开,页面就提示505的主要内容,如果未能解决你的问题,请参考以下文章
前端请求的js,css只加载一部分就断开连接, 静态文件加载不全