如何使用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>
我的客户端/服务器上没有错误,但我也没有收到消息。有人可以给我一个暗示吗?感谢!!!
答案 0 :(得分:2)
on
,如果您想发送一条消息,则应使用emit
代替:
socket.emit('message', { my: 'data' });
答案 1 :(得分:0)
当您单击按钮(发送message
之前)时,您的客户端会从服务器等待hi there
。但是一旦页面加载并且客户端连接到服务器,服务器就会发送消息。这是服务器发送的唯一消息。所以客户端一直在等待服务器的消息。将doit()
更改为此
function doit(){
socket.send("hi there");
}