首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否在socket.io上关闭套接字服务器端?

是否在socket.io上关闭套接字服务器端?
EN

Stack Overflow用户
提问于 2011-09-21 07:25:29
回答 2查看 28.9K关注 0票数 17

我很确定这是一个简单的问题,但是我不知道socket.io文档在哪里,http://labs.learnboost.com/socket.io/上的那个文档也没有真正的帮助。

假设我有一个socket.io http服务器,并编写了一个网站来连接它。

我如何为服务器提供保护,使未经授权的人(不是通过网站连接的人)将被blocked/dropped/banned.

  • How I结束服务器端的
  1. 连接?所以如果我有

io.sockets.on('connection',function (socket) { socket.on('end',function() { var i= global_sockets_list.indexOf(socket);global_sockets_list.splice(i,1);});socket.emit('end');//不工作,只发送数据socket.end();//

如何结束套接字连接?(上面的连接然后断开连接是为了测试)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-21 07:29:52

尝试呼叫:

代码语言:javascript
复制
socket.disconnect('unauthorized');

代码语言:javascript
复制
socket.close();

编辑:您可以查看referer标题。查看Socket.io Security Issues了解更多信息。

票数 19
EN

Stack Overflow用户

发布于 2015-07-11 04:06:05

在服务器端,有一个socket.disconnect方法,它接受一个布尔值,表示关闭底层传输连接。以下是截至2010年7月的文档源代码:

代码语言:javascript
复制
/**
 * Disconnects this client.
 *
 * @param {Boolean} if `true`, closes the underlying connection
 * @return {Socket} self
 * @api public
 */

Socket.prototype.disconnect = function(close){
  if (!this.connected) return this;
  if (close) {
    this.client.disconnect();
  } else {
    this.packet({ type: parser.DISCONNECT });
    this.onclose('server namespace disconnect');
  }
  return this;
};

所以你应该调用socket.disconnect(true);

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7492966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档