当我向套接字服务器发送一些值时,什么也没有发生

时间:2019-04-13 14:37:37

标签: node.js reactjs react-native websocket socket.io

我有一个expressjs服务器代码,它侦听套接字端口,如下所示。

websocket.on('connection', (socket) => {
  console.log('A client just joined on', socket.id);
  websocket.on('messageIM', (message) => {
     console.log('msg:'+message)

});
});

我的客户端应用程序是一个本机移动项目,其中包含如下代码:

  constructor(props) {
super(props); 
this.socket = SocketIOClient('http://192.168.140.51:3000/');

  }

然后我获得客户端连接“在***上刚刚加入客户端”在服务器控制台上登录,表示与服务器的连接成功。但是当我发出一些变量时..服务器端什么也不会发生!...

call()=>{
 this.socket.emit('messageIM','Hi server')
}

表示当我在call()函数上方调用时,服务器中没有任何反应。

这是我在客户端和服务器端编写的代码,如果您有一定的经验,请给予帮助。

1 个答案:

答案 0 :(得分:1)

好像您使用了错误的变量来监听。连接事件返回您要使用的套接字。将websocket.on('messageIM'重命名为socket.on('messageIM'

websocket.on('connection', socket => {
  console.log('A client just joined on', socket.id);
  socket.on('messageIM', message => {
     console.log(`msg: ${message}`)
  });
});