【发布时间】:2021-06-22 09:43:30
【问题描述】:
在查看 stackoverflow 上的类似问题后,我没有发现任何对我想要在我的项目中做的事情有多大帮助。阅读和研究我成功地使应用程序与我的 Ratchet PHP websocket 服务器建立了多个连接,但我注意到每次用户重新加载页面或在新选项卡中打开链接时,客户端 websocket 都会断开连接,然后再次重新连接。
所以,我想知道如何在使用 Sharedworker 的 Web 应用程序中为多个用户只获得一个到 WebSocket 服务器的持久连接。
我在客户端是这样的:
<script>
$(document).ready(function($) {
let socket = new WebSocket("ws://realtime:8090");
socket.onopen = function(e) {
console.log("Browser client connected to websocket server");
socket.send("Greetings from the browser!");
};
socket.onmessage = function(event) {
console.log('Data received from server: ' + event.data);
};
socket.onclose = function(event) {
if (event.wasClean) {
console.log(`Connection closed cleanly, code=${event.code} reason=${event.reason}`);
}
else {
// e.g. server process killed or network down
// event.code is usually 1006 in this case
console.log('Connection closed unexpectedly.');
}
};
socket.onerror = function(error) {
alert(error.message);
};
});
</script>
【问题讨论】:
标签: javascript html websocket