javascript - Socket.io 消息未附加

标签 javascript node.js sockets

我有app.js

io.on('connection', function(socket){
  socket.on('message', function(msg){
    console.log('message: ' + msg);
  });
});

和对话.js

var socket = io('http://localhost:8080');

socket.on('message', function(msg){
  $('#messages').append(msg);
});  

$(function(){
  $('#sendMessageForm').submit(function(){
    socket.emit('message', $('#text').val());
    $('#text').val('');

    return false;
  });
});

因此,我的服务器正在接收我发送的所有消息并在控制台日志中显示它们。但 socket.on 没有附加此消息。我认为套接字有问题,但这段代码可以正常工作

socket.on('messages', function(msg){
  $('#messages').append('some text');
});  

最佳答案

在您的服务器上,您需要发送回同一套接字或每个套接字

io.on('connection', function(socket){
  socket.on('message', function(msg){
    console.log('message: ' + msg);
    io.emit('message', msg); //to all sockets
  });
});

另外,我猜您的事件名称是 message 而不是 messages

socket.on('message', function(msg){
           ^^^^^^^
  $('#messages').append('some text');
});

关于javascript - Socket.io 消息未附加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30515857/

相关文章:

javascript - react 上下文以更改组件

javascript - 为 react/react-intl 动态导入语言 json 文件

java - 在消息到达时显示消息,而不是在 session 结束时显示所有消息

java - 在java中从套接字获取输入和输出流的问题

c - sendto 在 Mac OS X 10.8 上返回 EINVAL

php - 如何仅选择已删除的复选框值

javascript - geolocation.watchPosition 打破 geolocation.getCurrentPosition

node.js - Spring Security 替代 Node.js

javascript - 重定向到另一个页面: NodeJs

javascript - 如何在node js客户端缓存.js文件