使用 socket.emit 处理 Node.js 错误

托德

我有一些像这样的 node.js 客户端代码:

socket.emit('clickAccept', { myrecid: recid });

服务器端 node.js 代码运行良好,一切正常。

如果我关闭服务器以模拟服务器端中断,然后单击在客户端触发此 socket.emit 的按钮,会发生这种情况:

  • 没什么,我想它最终可能会超时
  • 当我重新启动服务器时,点击最终被发送到服务器,服务器对它们进行操作(我猜是 TCP 式的)。

我想要发生的是那些socket.emit调用在短暂的超时后死亡并且在服务器恢复时不发送,这会导致各种混乱,因为如果他们单击 3 次,则什么也没有发生,然后当/如果连接或服务器出现时备份他们一次得到 3 个反应。

此外,如果他们点击并且由于服务器关闭而超时,我想向客户端用户显示一个错误,让他们知道基本上点击不起作用并重试。

我知道如何在套接字出现故障时采取行动并显示错误,但如果他们当时不尝试单击某些内容,我不想这样做。向用户触发错误是没有意义的,因为如果他们当时不需要做任何事情,套接字就会短暂地关闭。

所以,要清楚,如果他们点击按钮并且客户端和服务器之间的套接字关闭,我只想显示一个错误。并且...如果他们收到错误消息,我想终止该发出的消息,而不是将其全部保存并在几秒钟后服务器恢复时触发它以及所有其他点击。

提前致谢,我希望这至少是相当清楚的。

托德

感谢其他答案和帮助。我最终以一种超级简单的方式解决了这个问题。见下文:

if (socket.connected){ // Do your thing here } else { // Throw error here that tells the user they're internet is likely down }

希望这可以帮助那里的人,这是我们代码的巨大改进,以确保用户在网络/互联网短暂中断时获得正确的反馈。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Node.js上的通信-socket.emit未正确捕获到socket.emit

来自分类Dev

在Node.js中使用socket.io的奇怪错误

来自分类常见问题

使用node.js流进行错误处理

来自分类Dev

使用Promise处理Node.js + Express中的错误

来自分类Dev

在 Node.js 中使用 try..catch 处理错误

来自分类Dev

使用socket-io Node.js处理生成(启动,终止)的作业

来自分类Dev

处理Node js中的多个错误

来自分类Dev

Node.js Express处理错误功能

来自分类Dev

node.js 中未处理的错误

来自分类Dev

从node.js客户端到浏览器客户端的socket.emit

来自分类Dev

Node.js - Socket.IO Emit 上的多个回调

来自分类Dev

Node.js 到 C++ 客户端:未从 socket.emit 接收消息

来自分类Dev

在Node.js中使用socket.io产生奇怪的错误

来自分类Dev

Socket.IO-如何脱机处理Node.js

来自分类Dev

如何在整个api调用中使用node.js中的全局错误处理代码

来自分类Dev

在Ubuntu 12.04上使用http.createServer()。listen()时,Node.js未处理的“错误”事件

来自分类Dev

Ajax成功和错误处理程序无法与Node.js一起使用

来自分类Dev

如何在整个api调用中使用node.js中的全局错误处理代码

来自分类Dev

使用异步node.js函数控制流和错误处理

来自分类Dev

在 Node.js 中,使用 async / await 处理错误的正确方法是什么?

来自分类Dev

Node.js Socket.IO客户端未处理的socket.io URL

来自分类Dev

Node.js Socket.IO客户端``未处理的socket.io URL''

来自分类Dev

使用Node JS处理传入的JPEG图像

来自分类Dev

使用 Node.js 处理大流

来自分类Dev

无法使用socket.io + Express + Webpack连接到Node.js服务器,请求返回404错误

来自分类Dev

Node.js-如何处理流错误事件

来自分类Dev

Node.js抛出未处理的错误事件

来自分类Dev

Node.js中管道中未处理的流错误

来自分类Dev

node.js-处理不同类型的错误时出错

Related 相关文章

  1. 1

    Node.js上的通信-socket.emit未正确捕获到socket.emit

  2. 2

    在Node.js中使用socket.io的奇怪错误

  3. 3

    使用node.js流进行错误处理

  4. 4

    使用Promise处理Node.js + Express中的错误

  5. 5

    在 Node.js 中使用 try..catch 处理错误

  6. 6

    使用socket-io Node.js处理生成(启动,终止)的作业

  7. 7

    处理Node js中的多个错误

  8. 8

    Node.js Express处理错误功能

  9. 9

    node.js 中未处理的错误

  10. 10

    从node.js客户端到浏览器客户端的socket.emit

  11. 11

    Node.js - Socket.IO Emit 上的多个回调

  12. 12

    Node.js 到 C++ 客户端:未从 socket.emit 接收消息

  13. 13

    在Node.js中使用socket.io产生奇怪的错误

  14. 14

    Socket.IO-如何脱机处理Node.js

  15. 15

    如何在整个api调用中使用node.js中的全局错误处理代码

  16. 16

    在Ubuntu 12.04上使用http.createServer()。listen()时,Node.js未处理的“错误”事件

  17. 17

    Ajax成功和错误处理程序无法与Node.js一起使用

  18. 18

    如何在整个api调用中使用node.js中的全局错误处理代码

  19. 19

    使用异步node.js函数控制流和错误处理

  20. 20

    在 Node.js 中,使用 async / await 处理错误的正确方法是什么?

  21. 21

    Node.js Socket.IO客户端未处理的socket.io URL

  22. 22

    Node.js Socket.IO客户端``未处理的socket.io URL''

  23. 23

    使用Node JS处理传入的JPEG图像

  24. 24

    使用 Node.js 处理大流

  25. 25

    无法使用socket.io + Express + Webpack连接到Node.js服务器,请求返回404错误

  26. 26

    Node.js-如何处理流错误事件

  27. 27

    Node.js抛出未处理的错误事件

  28. 28

    Node.js中管道中未处理的流错误

  29. 29

    node.js-处理不同类型的错误时出错

热门标签

归档