如何删除io.socket命名空间事件?

我怎样才能简单地删除一个io.socket命名空间?

delete io.nsps['/my_namespace']; 

这并不防止来自现有连接客户端的火警事件。

好的点1)

  nsp= io.of('/my_namespace'); nsp.removeAllListeners("my_event"); //this doesnt' work 

2.)当然,我可以为此做一个if语句,但我认为这不是一个干净的解决scheme。

3.)我不知道如何在不closures完整套接字(而不仅仅是命名空间)的情况下使用这个命名空间。

我的问题是,当我closures一个聊天,并删除所有保存数组和东西,我得到一个错误,因为事件仍然可以被解雇(现在访问未定义的数组,当然,我可以检查它们是否存在,但更容易,只是防止事件),就像发送或断开连接事件一样。我不想在客户端阻止这个,因为安全问题。

目前还不是很清楚你真的想做什么。 要停止传入的套接字事件,您有多个选项:

  1. 删除所有的套接字事件处理程序。
  2. 设置一个标志,您的事件处理代码检查,如果该标志设置,它跳过其正常的代码执行。
  3. 断开该名称空间上的所有客户端并拒绝新的连接。

与往常一样,如果您告诉我们您真的想要解决哪个问题,而不仅仅是询问您要实施的解决scheme,那么我们可能会提供更好的答案。 查看关于XY问题的描述,讨论为什么询问您的实际问题可能会更好,而不是询问您试图解决的问题。