我最近设置了一个本地WebSocket服务器工作正常,但是我有一些麻烦,了解我应该如何处理客户端或服务器故意启动的突然断开连接,即:服务器断电,以太网电缆退出等...我需要客户端知道连接是否在〜10秒内丢失.
客户端,连接简单:
var websocket_conn = new WebSocket('ws://192.168.0.5:3000');
websocket_conn.onopen = function(e) {
console.log('Connected!');
};
websocket_conn.onclose = function(e) {
console.log('Disconnected!');
};
Run Code Online (Sandbox Code Playgroud)
我可以手动触发连接断开,工作正常,
websocket_conn.close();
Run Code Online (Sandbox Code Playgroud)
但是,如果我只是将以太网电缆拉出计算机背面,或者禁用连接,onclose则不会被调用.我在另一篇文章中读到,当TCP检测到连接丢失时,它最终会被调用,但是我不需要及时作为Firefox的默认设置我认为是10分钟,我真的不想去大约数百台计算机about:config改变了这个值.我读过的唯一其他建议是使用'ping/pong'保持活动的轮询样式方法,这似乎与websockets的想法相违背.
有没有更简单的方法来检测这种断开行为?从技术角度看,我正在阅读的旧帖子是否仍然是最新的,最好的方法仍然是'ping/pong'风格?
我有一个产品网站,其中我有大约100张高品质的图像.每张图片大小约为6-7MB.
在我的数据库中,我存储了所有图像的路径及其名称.图像保存在文件夹/ images/product_name /中,但是当我在网页中显示这些图像时,页面将永远加载.我所做的只是将id发送到表,获取图像路径并将其显示在产品页面中.
如果我能就如何优化流程获得任何建议,将会非常有帮助.