![](/img/trans.png)
[英]Node.js, express and socket.io : socket.on doesn't receive message socket.emit from the server to the client
[英]socket.emit and socket.on do not work in node.js
我试图将我的chrome浏览器连接到NodeJs Server。 所有代码在其他机器上运行良好。 但是当我在我的机器上运行时,它既没有出错也没有成功。 这是代码
服务器代码:
var server = http.createServer(app).listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
});
var io = require('socket.io').listen(server);
io.sockets.on('message', function (socket) {
socket.emit('news', { hello: 'world' });
});
这是客户代码。
<script>
var socket = io.connect('http://localhost:3000/');
//console.log(socket);
socket.on("message",function(data){
console.log(data);
})
</script>
请纠正我在哪里做错了。 客户端中的console.log()不起作用。 我尝试使用断点在chrome调试器中检查它,但它永远不会到那一点。
你缺少一些代码:
io.sockets.on('connection', function (socket) {
socket.on('message', function (data) {
socket.emit('news', { hello: 'world' });
});
socket.on('another-message', function (data) {
socket.emit('not-news', { hello: 'world' });
});
});
取自socket IO网站。 为此,您需要从客户端发送“消息”开始,其内容如下:
<script>
var socket = io.connect('http://localhost:3000/');
socket.on('connect',function(){
socket.emit('message', 'Hello server');
});
socket.on('news', function(msg) {
alert('News from server: ' + msg.hello);
});
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.