socket.emit 内部的 socket.emit 在客户端 Socket.io 不起作用



客户端代码:-

<script src="/socket.io/socket.io.js"></script>
...snip...
var socket = io.connect( 'http://localhost:5000' );

socket.on('text_msg', function (data) {
socket.emit('message', {txt:"test"});  //this is not working
alert( data.msg );
});

服务器端代码如下所示:-

const io = require('socket.io').listen(5000);
io.emit('text_msg', {msg: 'Welcome you are now connected.'}); //this is working good
// plain message - this never works 
io.on('message', function(data){
console.log("message : " + data.txt);   //No msg on console!
});
});

请帮助我将消息从客户端脚本发送到服务器。

您在启动套接字服务器时发出 text_msg 事件,而不是在建立连接时发出。应侦听服务器上的连接事件,然后将欢迎消息发送到连接的套接字。

客户端发送到服务器的消息也不会被看到,因为您没有侦听它。您需要侦听每个单独的套接字。

服务器端代码应如下所示:

const io = require('socket.io').listen(5000);
io.on('connection', function (socket) {
socket.emit('text_msg', {
msg: 'Welcome you are now connected.'
});
socket.on('message', function(data) {
console.log('message : ' + data.txt);
});
});

最新更新