0

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"});
                });
        });

});

サーバーにデータを送信できるのに、応答サーバーがうまく機能していないことをどのように確認できますか

4

1 に答える 1

0

インスピレーションを与えることができる簡単なつながりの例を残します

サーバ:

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);
});

お役に立てば幸いです!

于 2013-01-30T19:56:51.160 に答える