我在JS中实现了一个基本的websockets客户端:
function connectToNotifServer(){
var conn = new WebSocket('ws://localhost:8080');
conn.onopen = function(e) {
alert("Connection established!");
conn.send(JSON.stringify({user_id: sessionStorage.getItem("user_id")}));
};
conn.onmessage = function(e) {
alert(e.data);
};
conn.onclose = function(e) {
alert("Connection closed!");
};
return conn;
}但是我想使用网页上的websocket连接。但是,如果我只是在加载时调用这个方法,那么我担心每次重新加载页面时都会建立一个新的连接,这是否一个问题?是否存在连接一次,并在不同的页面和页面重新加载时使用连接?
谢谢
发布于 2014-02-10 10:59:58
您可以通过从共享背景Web工作者打开WebSocket连接来做到这一点。
当至少一个选项卡仍然活动到给定的源(共享的WebSocket工作人员)时,连接将保持打开状态。
我知道Chrome和IE11支持从专门的网络工作者打开WebSocket连接。Firefox目前没有。我不知道哪些浏览器支持来自共享Web的WebSocket连接(这就是您需要的)。
发布于 2014-02-08 09:28:24
这不会有什么问题。因为每次页面重新加载时,页面都会断开连接并建立一个新的连接。
而你的另一个问题的答案是“不管怎么说,连接一次并在不同的页面和页面重新加载中使用连接”是否定的。在页面重新加载后,不能通过该页面使用相同的连接。
发布于 2014-02-08 10:03:10
如果用户更改页面,则无法保持打开连接。
https://stackoverflow.com/questions/21644266
复制相似问题