Javascript 使用php在节点js和套接字io中进行私有消息传递

Javascript 使用php在节点js和套接字io中进行私有消息传递,javascript,php,node.js,Javascript,Php,Node.js,我正在使用nodejs、socket.io和php开发一个聊天应用程序,但是我在两个用户之间的私人消息传递中遇到了一个简单的错误 当用户A向用户B发送消息时,他无法读取消息,直到用户B向用户A发送消息后,一切正常 chat.php <form class="form-inline" id="messageForm"> <input id="messageInput" type="text" class="input-xxlarge" placeHolder="Messa

我正在使用nodejs、socket.io和php开发一个聊天应用程序,但是我在两个用户之间的私人消息传递中遇到了一个简单的错误

当用户A向用户B发送消息时,他无法读取消息,直到用户B向用户A发送消息后,一切正常

chat.php

<form class="form-inline" id="messageForm">
    <input id="messageInput" type="text" class="input-xxlarge" placeHolder="Message" />
    <input type="hidden" name="" id="to" value="<?php echo $recevierid; ?>">
    <input type="submit" class="btn btn-primary" value="Send" />
</form>
nodeServer.js

$( "#messageForm" ).submit( function() {
    var msg = $( "#messageInput" ).val();
    var to =$( "#to" ).val();
    socket.emit('join', { message:msg,to:to} );
    $( "#messageInput" ).val('');
    return false;
});
socket.on( 'new_msg', function( data ) {
    var actualContent = $( "#messages" ).html();
    var newMsgContent = '<li>: ' + data.message + '</li>';
    var content = newMsgContent + actualContent;    
    $( "#messages" ).html( content );
});
var socket = require( 'socket.io' );
var express = require( 'express' );
var http = require( 'http' );

var app = express();
var server = http.createServer( app );

var io = socket.listen( server );

io.sockets.on( 'connection', function( client ) {
    console.log( "New client !" );

    client.on('join', function( data ) {
        console.log( 'Message received' + data.message+"email"+data.to);
        client.join(data.to);
        io.sockets.in(data.to).emit("new_msg",{message:data.message});
    });
}); 

server.listen( 8080 );