小编two*_*new的帖子

Socket.io 连接事件未触发

这是我第一次使用 node.js/socket.io,我在为所有套接字触发 'connect' 事件时遇到了一些麻烦。我遵循了聊天应用程序示例,然后尝试添加一个功能,当用户连接或断开连接时,我不会在控制台中显示它,而是将它显示在屏幕上。

断开连接事件为所有选项卡触发(如果我有多个选项卡打开聊天应用程序),但连接事件似乎只为当前选项卡触发。

服务器 (index.js)

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.get('/', function(req, res){
    res.sendFile(__dirname + '/index.html');
});

io.on('connection', function(socket){
    socket.on('connect', function(){
        io.emit('connect', "A user connected");
    });
    socket.on('disconnect', function(){
        io.emit('disconnect', "A user disconnected");
    });
    socket.on('chat message', function(msg){
        io.emit('chat message', msg);
    });
});

http.listen(3000, function(){
    console.log('listening on *:3000');
});
Run Code Online (Sandbox Code Playgroud)

客户端 (index.html)

<script src="/socket.io/socket.io.js"></script>
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script>
    var socket = io();
    $('form').submit(function(){
        socket.emit('chat message', $('#m').val());
        $('#m').val('');
        return false;
    });
    socket.on('chat message', function(msg){
       $('#messages').append($('<li>').text(msg));
    }); …
Run Code Online (Sandbox Code Playgroud)

node.js socket.io

3
推荐指数
1
解决办法
7481
查看次数

标签 统计

node.js ×1

socket.io ×1