为什么remoteAddress隐藏?
我用https://github.com/websockets/ws使用Node.js。
我试图将用户remoteAddress存储在一个临时套接字variables中。 我可以通过socket.upgradeReq.connection.remoteAddress
访问这个variables
问题是,遥控地址从哪里来? 甚至在lib目录下的任何WS node_plugin文件中都找不到variables'remoteAddress'。 (我使用记事本++search每个文件。)
我find访问这个variables的唯一原因是来自这个主题: 如何使用node.js中的websocket(einaros / ws)lib获取客户端IP地址?
哎呀,即使在显示console.log(self.upgradeReq.connection);
在我的控制台我仍然无法find它!
对象控制台列表的图像:
在世界的哪个地方? 我错过了什么吗?
它来自Node.js的内置net
模块。 以下是如何跟踪它:
ws文档将upgradeReq
称为“发起升级的HTTP请求”。 浏览ws
代码清楚地表明,它使用Node.js的内置http
库来处理HTTP请求。
Node.js http
请求文档说http.ClientRequest.connection
是给定请求的底层TCP socket
的引用。
Node.js的TCP代码在net
库中。 net
docs文件中的socket.remoteAddress
。