为什么要隐藏remoteAddress?

NiC*_*man 5 javascript websocket node.js

我如何使用Node.js与https://github.com/websockets/ws.

我正在尝试将用户remoteAddress存储在临时套接字变量中.我可以通过以下方式访问此变量 socket.upgradeReq.connection.remoteAddress

问题是,世界上remoteAddress的来源是什么?甚至在lib目录中的任何WS node_plugin文件中都找不到变量'remoteAddress'.(我使用Notepad ++搜索每个文件.)

我找到访问此变量的唯一原因来自于此主题:如何使用node.js中的websocket(einaros/ws)lib获取客户端IP地址?

哎呀,即使console.log(self.upgradeReq.connection);在我的控制台显示我仍然找不到它!

对象控制台列表的图像:

在此输入图像描述

在此输入图像描述

在世界的哪个地方?我错过了什么吗?

joe*_*ews 3

它来自 Node.js 的内置net模块。以下是如何追踪它:

ws 文档称为“upgradeReq发起升级的 HTTP 请求”。浏览一下ws代码可以清楚地看出,它使用 Node.js 的内置http库来处理 HTTP 请求。

Node.jshttp请求文档说这http.ClientRequest.connection是对给定请求的底层 TCP 的引用socket

Node.js 的 TCP 代码位于net库中。文档net文档socket.remoteAddress.​