3

HTML5でボタンを使用してメッセージを送信するにはどうすればよいですか?

ここに私のコードがあります:

サーバ:

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


io.on('connection', function(client){
    client.send('{"success": 1}');
    client.on('message', function(data) {
        console.log('Client:', data); 
    }); 
    client.on('disconnect', function() {
        console.log('Goodbye');
    }); 
});

クライアント:

<!DOCTYPE html>
<html>

<head>
<script src="http://192.168.0.102:72/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://192.168.0.102:72');
function doit(){
  socket.on('message', function(data) {
    socket.send("hi there");
   });
}
</script>

</head>

<body>
    <button name="Klickme" type="button" onclick="doit();">On!</button>
    <button id="off" type="button" onclick="close();">Off!</button>
</body>

</html>

クライアント/サーバーでエラーは発生しませんが、メッセージも表示されません。誰かヒントをくれませんか?ありがとう!!!

4

2 に答える 2

2

onサーバーから送信されるイベントをリッスンする場合に使用されます。メッセージを送信する場合は、emit代わりに次を使用する必要があります。

socket.emit('message', { my: 'data' });
于 2013-03-17T14:07:18.940 に答える
0

messageボタンをクリックすると(送信する前に)、クライアントはサーバーから待機しますhi there。ただし、サーバーは、ページが読み込まれ、クライアントがサーバーに接続するとすぐにメッセージを送信します。これは、サーバーが送信する唯一のメッセージです。したがって、クライアントはサーバーからのメッセージを待ち続けます。doit()これに変更

function doit(){
    socket.send("hi there");
}
于 2013-03-17T14:13:01.193 に答える