我正在使用socket.io和nodejs创建我的第一个应用程序,就像socket.io官方网站所说,但是我在运行节点server.js后在html上看到的唯一一件事是"欢迎来到socket.io".我怎样才能解决这个问题?或者为什么会这样?
代码如下:
index.html
<script src="http://my.page/node_modules/socket.io/lib/socket.io.js"></script>
<script>
var socket = io.connect('http://abogados.pages/');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
</script>
server.js
var io = require('socket.io').listen(80);
io.sockets.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
Run Code Online (Sandbox Code Playgroud)
我真的很感激任何答案,因为如果没有,我不能从socket.io开始!
我试图阻止客户端与服务器断开连接.因此,在用户关闭应用程序打开的窗口之前,我会:
$(window).bind("beforeunload", function() {
return("Close the app?");
});
Run Code Online (Sandbox Code Playgroud)
但问题是,无论用户选择离开还是停留在应用程序打开的页面上,客户端都会从服务器断开连接(停止监听),甚至在我选择选项之前.因此,如果用户选择留在页面上,则不会从服务器发送或接收任何内容.
为什么会这样?如何防止这种情况?