首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >节点JS获取数据io.sockets.clients();

节点JS获取数据io.sockets.clients();
EN

Stack Overflow用户
提问于 2019-03-21 10:21:00
回答 1查看 972关注 0票数 0

我的英语不太好,对不起

我正在尝试获取所有连接的客户端数据

示例;

代码语言:javascript
复制
var a_sockets           =   io.sockets.clients();

console.log(a_sockets);

返回;

代码语言:javascript
复制
Namespace {
  name: '/',
  server:
   Server {
     nsps: { '/': [Circular] },
     parentNsps: Map {},
     _path: '/socket.io',
     _serveClient: true,
     parser:
      { protocol: 4,
        types: [Array],
        CONNECT: 0,
        DISCONNECT: 1,
        EVENT: 2,
        ACK: 3,
        ERROR: 4,
        BINARY_EVENT: 5,
        BINARY_ACK: 6,
        Encoder: [Function: Encoder],
        Decoder: [Function: Decoder] },
     encoder: Encoder {},
     _adapter: [Function: Adapter],
     _origins: '*:*',
     sockets: [Circular],
     eio:
      Server {
        clients: [Object],
        clientsCount: 1,
        wsEngine: 'ws',
        pingTimeout: 5000,
        pingInterval: 25000,
        upgradeTimeout: 10000,
        maxHttpBufferSize: 100000000,
        transports: [Array],
        allowUpgrades: true,
        allowRequest: [Function: bound ],
        cookie: 'io',
        cookiePath: '/',
        cookieHttpOnly: true,
        perMessageDeflate: [Object],
        httpCompression: [Object],
        initialPacket: [Array],
        ws: [WebSocketServer],
        _events: [Object],
        _eventsCount: 1 },
     httpServer:
      Server {
        _events: [Object],
        _eventsCount: 5,
        _maxListeners: undefined,
        _connections: 1,
        _handle: [TCP],
        _usingWorkers: false,
        _workers: [],
        _unref: false,
        allowHalfOpen: true,
        pauseOnConnect: false,
        httpAllowHalfOpen: false,
        timeout: 120000,
        keepAliveTimeout: 5000,
        _pendingResponseData: 0,
        maxHeadersCount: null,
        headersTimeout: 40000,
        _connectionKey: '6::::9999',
        [Symbol(IncomingMessage)]: [Function],
        [Symbol(ServerResponse)]: [Function],
        [Symbol(asyncId)]: 5 },
     engine:
      Server {
        clients: [Object],
        clientsCount: 1,
        wsEngine: 'ws',
        pingTimeout: 5000,
        pingInterval: 25000,
        upgradeTimeout: 10000,
        maxHttpBufferSize: 100000000,
        transports: [Array],
        allowUpgrades: true,
        allowRequest: [Function: bound ],
        cookie: 'io',
        cookiePath: '/',
        cookieHttpOnly: true,
        perMessageDeflate: [Object],
        httpCompression: [Object],
        initialPacket: [Array],
        ws: [WebSocketServer],
        _events: [Object],
        _eventsCount: 1 } },
  sockets:
   { '71kTaZqD9WLFgyC0AAAA':
      Socket {
        nsp: [Circular],
        server: [Server],
        adapter: [Adapter],
        id: '71kTaZqD9WLFgyC0AAAA',
        client: [Client],
        conn: [Socket],
        rooms: {},
        acks: {},
        connected: true,
        disconnected: false,
        handshake: [Object],
        fns: [],
        flags: {},
        _rooms: [],
        userId:
         '8580af1b5f364c98a20a49185e018412642e92efb79421734881b53e1e1b18b6_t' } },
  connected:
   { '71kTaZqD9WLFgyC0AAAA':
      Socket {
        nsp: [Circular],
        server: [Server],
        adapter: [Adapter],
        id: '71kTaZqD9WLFgyC0AAAA',
        client: [Client],
        conn: [Socket],
        rooms: {},
        acks: {},
        connected: true,
        disconnected: false,
        handshake: [Object],
        fns: [],
        flags: {},
        _rooms: [],
        **userId:
         '8580af1b5f364c98a20a49185e018412642e92efb79421734881b53e1e1b18b6_t'** } },
  fns: [],
  ids: 0,
  rooms: [],
  flags: {},
  adapter:
   Adapter {
     nsp: [Circular],
     rooms: { '71kTaZqD9WLFgyC0AAAA': [Room] },
     sids: { '71kTaZqD9WLFgyC0AAAA': [Object] },
     encoder: Encoder {} },
  _events: [Object: null prototype] { connection: [Function] },
  _eventsCount: 1 }

我只想获取userId数据。

我想把它连接到-> userId

这样我就可以比较用户,我该如何解决这个问题呢?我再次为我的英语道歉

谢谢。

如果你能帮助我,我会很高兴的。祝你有个愉快的一天

EN

回答 1

Stack Overflow用户

发布于 2019-03-21 14:33:13

简单回答(假设您使用的是>=1.0版本):

代码语言:javascript
复制
var srvSockets = io.sockets.sockets;
Object.keys(srvSockets);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55272874

复制
相关文章

相似问题

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