0

私はNodejsプロジェクトを持っています

しかし、それを接続するsocket.ioは遅すぎます。

最初に開いた、socket.io が接続されていません。Socket.io は 10 ~ 15 秒後にほぼ接続されました。

私のサーバーJS:

var io = require('socket.io').listen(8080);


function getUsernames(room) {
    var clients = io.sockets.clients(room);
        client=new Array();
    clients.forEach(function(_client) {

                client.push({username:_client.username,room:_client.room})
    });

    return client;
}

                io.sockets.on('connection', function(client){

                client.on('login', function(username, room){
                        client.username = username;
                        client.room = room;
                        client.join(client.room);
                        io.sockets.to(client.room).emit('updateuser', getUsernames(client.room));
                });

                        client.on('mesajgonder', function(data){
                                client.emit('mesajgitti', data)
                                client.broadcast.emit('mesajgitti', data)
                        });
                        client.on('disconnect', function(){
                                var eskiroom = client.room;
                                client.leave(client.room);
                                io.sockets.to(eskiroom).emit('updateuser', getUsernames(eskiroom));
                        });
});

私のクライアントJS:

var socket;
        var room = 'room8';
        var username = 'username';
        var socket = io.connect("http://localhost:8080");
        $(".text_metin").append('<span><p>Welcome to</p> <b>`'+room+'`</b> write now!</span>');
                socket.on('connect', function(s){
                        socket.emit('login', username, room);
                        socket.on("mesajgitti", function(data){
                                $(".text_metin").append("<li id='chat_metin'>"  + data.mesaj + "</li>");

                        });
                        socket.on('updateuser', function(users){
                                $.each(users, function(i, user) {
                                        $("#user_liste").empty();
                                        $("#user_liste").append('<li><img src="images/1111.png" alt="" width="20" height="20" /><a href="#" title="Coming Soon">'+user.username+'</a></li>');

                                });

                        });
                });
                        $("#mesajGonder").click(function(){
                                var mesaj = $("#writechat").val();
                                if (!mesaj){
                                return;
                                }
                                socket.emit('mesajgonder',{
                                        'mesaj' : mesaj,
                                });
                                $("#mesajinput").val("");
                        });
                        $(".tags li a").click(function(){
                var demo = $(this).text();
                 $("#interested").val($("#interested").val()+','+demo);
                });
                $("#mesajGonder").click(function(){
                $("#writechat").val('');
                });

特急は使いません。ありがとうございました

4

0 に答える 0