当我将socket.io连接到客户端Javascript时,它出现了两个错误



我得到两个错误:

  1. 连接被拒绝
  2. 未定义io
const io = require("socket.io")(8000);

这就是我为JavaScript:公开Socket.io的方式

<script src="http://localhost:8000/socket.io/socket.io.js"></script>

在我的客户端JavaScript上,我插入了Socket.io.

const socket = io('http://localhost:8000');

我甚至尝试过这种方式。

const socket = io.connect('http://localhost:8000/');

但问题仍然存在。

这是我的服务器端代码。

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('recieve',message:message,name:users[socket.id]})
})
})
socket.on('disconnect',()=>{
socket.broadcast.emit('left',users[socket.id])
delete users[socket.id]
})

我甚至更改了端口号8080,但这对我也没有帮助。我切换回端口8000。我没有得到任何解决方案。我留下了这些错误,开始写剧本,过了一段时间,这些错误就消失了,我不知道怎么回事?过了一段时间,我再次面对这些错误。一段时间后,这些错误再次消失,这种情况在我身上发生了3到4次。

对于io is not defined issue,将此添加到以下CDN:

<script src="https://cdn.socket.io/socket.io-1.0.0.js"></script>
<script src="http://localhost:8000/socket.io/socket.io.js"></script>

保留下面的localhost链接是一个更好的选择。

socket.on('disconnect'事件应在io.on('connection'事件.内

最新更新