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 回答