node.js:socket.on不工作

node.js:socket.on不工作,node.js,Node.js,我有个问题。我正在用node.js做实验,因为稍后我想编写一个1:1聊天程序。 我有一个文件send.html和一个文件receive.html。在文件send.html中,我使用以下代码发送到node.js-Server: document.getElementById("buttonmessagesend").onclick = function() { var text1="fester Text"; socket.emit('chatwunsch', {text: text1 });

我有个问题。我正在用node.js做实验,因为稍后我想编写一个1:1聊天程序。 我有一个文件send.html和一个文件receive.html。在文件send.html中,我使用以下代码发送到node.js-Server:

 document.getElementById("buttonmessagesend").onclick = function()
 {
var text1="fester Text";
socket.emit('chatwunsch', {text: text1 });
    alert("Alarm");

 }
node.js-Server接收事件:

  socket.on("chatwunsch", function(data) {
  .....
然后他在这件事上用

 socket.emit('chatwunschvon', { message: data.text});
这似乎可行,因为node.js-Server的控制台显示:

 debug - websocket writing 5:::{"Name":"chatwunschvon","args":[{"message":"fester Text"}]}
现在,receive.html出现了问题,因为没有显示任何内容:

 socket.on('chatwunschvon', function(data){

  var message=data.message;
  localStorage.setItem('message', message);                 

  document.getElementById("chatfenster").innerHTML = localStorage.getItem('message');   
  });

 </script>
socket.on('chatwunschvon',函数(数据){
var message=data.message;
setItem('message',message);
document.getElementById(“chatfenster”).innerHTML=localStorage.getItem('message');
});

有人能帮我吗?

你确定这不是本地存储问题吗?也许试着从套接字输出消息

document.getElementById("chatfenster").innerHTML = data.message;

我看不到您在哪里连接到套接字后端。例如,你可以把

var socket = io.connect('http://my.websocket.com:3000');
socket.on('connect', function(data) {
    console.log('Connected to the websocket');
}

在send.html和receive.html上。这样,您可以通过查看控制台来判断他们是否正在使用socket.io执行初始握手。

谢谢,但这没关系,因为在服务器控制台上会显示消息“Client authorized for…”和id号….这两个文件如果将发送和接收代码放在同一个html文件中会怎么样?有一种可能是后端只应答原始发送者,而忽略了声称的接收者。您还可以尝试使用socket.join(roomname)使两端加入同一聊天室,并使用socket.broadcast.to(roomname).emit(…)向聊天室中的每个人发送地址。谢谢,这将是一个功能。好的,我不想为每个用户和每个聊天伙伴开发一个聊天室,而是为每个聊天伙伴开发一个单独的按钮来在所有聊天伙伴之间切换..类似于lablue.de的聊天..因此我需要一个(!)文件“chatbox.php”。