【问题标题】:Socket IO connection issue in NodeJSNodeJS 中的 Socket IO 连接问题
【发布时间】:2021-10-18 11:07:49
【问题描述】:

我正在尝试在 NodeJS 应用程序中建立套接字连接。 我试图运行这段代码

index.js


const io = require('socket.io')(8000)

const users = {};

io.on('connection', socket =>{

    socket.on('new-user-joined', name =>{ 

        users[socket.id] = name;

        socket.broadcast.emit('user-joined', name);
    });

    
    socket.on('send', message =>{
        socket.broadcast.emit('receive', {message: message, name: users[socket.id]})
    });

 
    socket.on('disconnect', message =>{
        socket.broadcast.emit('left', users[socket.id]);
        delete users[socket.id];
    });
});

client.js

const user = prompt("Enter your name to join");
socket.emit('new-user-joined', user)

socket.on('user-joined', user =>{
    append(`${user} joined the chat`, 'right')
})

socket.on('receive', data =>{
    append(`${data.name}: ${data.message}`, 'left')
})

socket.on('left', user =>{
    append(`${user} left the chat`, 'right')
})

但我没有得到正确的结果和控制台中的任何错误。

【问题讨论】:

  • “我没有得到正确的结果”是什么意思?你能解释一下你的期望和正在发生的事情吗?
  • 从提示输入名称后,应该会显示此“${user} 加入聊天”消息。但我没有得到任何输出
  • 我测试了你的控制台,用console.log 替换了append 函数,它对我有用。当用户连接或断开连接时,我收到console 消息...

标签: javascript node.js socket.io


【解决方案1】:
<script src="/socket.io/socket.io.js"></script>
<script>

var socket = io();


const user = prompt("Enter your name to join");
socket.emit('new-user-joined', user)

socket.on('user-joined', user =>{
    append(`${user} joined the chat`, 'right')
})

socket.on('receive', data =>{
    append(`${data.name}: ${data.message}`, 'left')
})

socket.on('left', user =>{
    append(`${user} left the chat`, 'right')
})

请在 HTML 中获取套接字连接。

请简要说明您遇到的问题。 谢谢。

</script>

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 2018-11-13
  • 2022-09-27
  • 2020-07-08
  • 1970-01-01
  • 2018-06-27
  • 1970-01-01
  • 2021-10-05
  • 2018-06-24
相关资源
最近更新 更多