为什么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