【发布时间】:2020-05-15 14:30:16
【问题描述】:
所以,我希望 socket.io 在服务器重新加载时向我的客户端发出。我正在使用 express、http 和 socket.io。我想在我的服务器重新加载时向客户端发出一条消息,说他们应该重新加载他们的页面。以下是我目前拥有的。当服务器启动时,它将向客户端发出。
http.listen(3000, () => {
io.emit('server-update')
})
这就是我目前所拥有的一切。但这不起作用。有什么建议?谢谢!
【问题讨论】:
-
我认为我们需要更多信息......我正在考虑回答,但我意识到我对你想要做的事情做出了太多假设。请进一步解释,包括有关您的环境的详细信息。您是在谈论使用工具进行热重载 - 什么工具?当您说它不起作用时是什么意思 - 是否有错误消息?等
-
不,没有错误信息。这是更详细的代码。我的错 :) 我只想从 Node.js 服务器向客户端发出 socket.io 调用。没有错误消息,只是没有发出。
-
在我的客户端我有 socket.on('server-update', () => {// Code})。一旦我重新启动服务器,代码似乎不会发出。我只是希望它向客户端发出一条消息,表明服务器已重新加载,因此为了获得最佳性能,他们应该重新加载浏览器。
-
最好编辑您的问题以使其更清晰。我的猜测是缺少“重新连接”步骤-服务器关闭,客户端连接关闭/丢失,服务器重新启动并发送到不存在的连接。您可能需要重新连接;也许考虑在服务器关闭时发射,而不是在它启动时发射。
-
哦!好主意啊!我该怎么做呢?抱歉,我对 Node.js 还是比较陌生。
标签: node.js express http websocket socket.io