2016-03-24 28 views
0

node.jsで書かれたブラウザ側からサーバ側への接続を構築したいクライアントはサーバー側にデータを送信できません。

クライアント側がサーバに接続すると、サーバ側からクライアントにメッセージが送信され、クライアント送信ボタンをクリックします。

が、クライアント側は、サーバ側からメッセージを受信することができるが、サーバー側はクライアント側からメッセージを受信することができない

クライアント側コード

<center> 
    <input id="send" type="submit" value="send"> 
    <p id="recv"></p> 
</center> 

<script src="library/socket.io.js"></script> 
<script type="text/javascript"> 
    var socket = io.connect("http://127.0.0.1:7000"); 
    var send = document.getElementById("send"); 
    var recv = document.getElementById("recv"); 

    send.addEventListener("click",function() { 
     socket.emit("message","message_from_client"); 
    }); 

    socket.on("message",function (data) { 
     recv.innerHTML = data; 
    }); 
</script> 

サーバ側クライアント

var socket = require("socket.io").listen(7000); 

socket.on("connect",function() { 
    console.log("connect"); 
    socket.emit("message","message_from_server"); 
}); 

socket.on("message",function (data) { 
    console.log(data); 

}); 

答えて

1

サーバー側でこのコードを試すことはできますか?私はそれが動作するのを見た。

var socket = require("socket.io").listen(7000); 

socket.on("connect", function(client) { 
    console.log("connect"); 
    client.emit("message", "message_from_server"); 

    client.on("message", function(data) { 
     console.log(data); 

    }); 
}); 

あなたは、これは正しい考えであるとOPのコード内の問題の一つを示しんこのlink

+1

上のサンプルコードとドキュメントを確認することができます。これがうまくいかない場合は、これが正しいため、何か間違ったことがあります。 – jfriend00

0

io.sockets.emit('event', message)をクライアントで使用してみてください。これにより、サーバを含むすべての接続されたソケットにメッセージが送信されます。

関連する問題