【问题标题】:simple connection error socket.io简单的连接错误socket.io
【发布时间】:2013-01-30 18:53:19
【问题描述】:

我在nodejs中有一个简单的tcp连接服务器+socket.io可以向服务器发送数据但我没有卷土重来。

对不起,我来自巴西

查看代码。

客户端代码:

if(newY !== ymouse  || newX !== xmouse)
{
    socket.emit('chat', {playerX: playerX, playerY: playerY});
}

socket.on('chat',
            function (data)
            {
                console.log(data)

            //  $("p#data_recieved").append("<br />\r\n [position] {" + data.msgr + ": playerX = " + data.playerX + ", playerY = " + data.playerY + "}");
                document.getElementById("vy").innerHTML = data.X;
                document.getElementById("vx").innerHTML = data.y;



            }

服务器代码:

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

io.sockets.on('connection',
    function (socket)
    {
    socket.on('chat',
        function (data)
        {
            var sender = 'unregistered';
            socket.get('nickname', 
                function (err, name)
                {
                    console.log('Chat message by ', name);
                    console.log('error ', err);
                    console.log('X: ' + data.playerX);
                    console.log('Y: ' + data.playerY);
                    sender = name;
                });

            socket.broadcast.emit('chat', { playerX : data.playerX, playerY : data.playerY, msg : data, msgr : sender});
        });

    socket.on('position',
        function (data)
        {
            var sender = 'unregistered';
            socket.get('nickname', 
                function (err, name)
                {
                    sender = name;
                });

            if(sender == 'unregistered')
                return;

            var playerX = data.playerX;
            var playerY = data.playerY;

            socket.broadcast.emit('position', {msgr : sender, playerX : playerX, playerY : data.playerY});
        });

    socket.on('register',
        function (name)
        {
            socket.set('nickname', name,
                function ()
                {
                    io.sockets.emit('chat', {msg : "naay nag apil2! si " + name + '!', msgr : "mr. server"});
                });
        });

});

你怎么看我可以 向服务器发送数据,但 没有反应 服务器似乎运行良好

【问题讨论】:

    标签: javascript html node.js canvas socket.io


    【解决方案1】:

    我留下一个简单的连接示例,您可以从中获得启发

    服务器:

    var simple = io
      .sockets
      .on('connection', function(socket) {
        socket.on('message', function(data) {
          socket.broadcast.send(data);
        });
        socket.on('disconnect', function() {
          // handle disconnect
        });
      });
    

    客户:

    var socket = io.connect();
    var content = $('#simple-content');
    socket.on('connect', function() {
      $('#simple-form').css('display', 'block');
      content.append($('<p>').text('Connected'));  
    });
    
    socket.on('message', function(msg) {
      content.append($('<p>').text(msg)
             .append($('<em>').text(' from server')));
    });
    
    $('#simple-form').submit(function(e) {
      e.preventDefault();
      var textObj = $('#simple-text');   
      var msg = textObj.val();
      textObj.val('');
      content.append($('<p>').text(msg)
             .append($('<em>').text(' from me')));
      socket.send(msg);
    });
    

    希望对你有帮助!

    【讨论】:

    • 谢谢很有用,但我想知道如何在客户端获取数据。
    猜你喜欢
    • 2015-01-02
    • 2017-01-08
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 2014-06-26
    • 2016-07-09
    • 2023-01-04
    • 1970-01-01
    相关资源
    最近更新 更多