gpt4 book ai didi

javascript - 为什么 remoteAddress 被隐藏了?

转载 作者:搜寻专家 更新时间:2023-10-31 22:48:12 24 4
gpt4 key购买 nike

我将 Node.js 与 https://github.com/websockets/ws 结合使用.

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

问题是,remoteAddress 到底从哪里来的?在 lib 目录的任何 WS node_plugin 文件中甚至找不到变量“remoteAddress”。 (我使用 Notepad++ 搜索每个文件。)

我找到这个变量的访问权限的唯一原因是来自这个主题: How to get client IP address using websocket (einaros / ws) lib in node.js?

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

对象控制台列表图片:

Enter image description here

Enter image description here

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

最佳答案

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

ws documentationupgradeReq 称为“启动升级的 HTTP 请求”。浏览 ws 代码可以清楚地看到它使用 Node.js 的内置 http 库来处理 HTTP 请求。

Node.js http request documentation表示 http.ClientRequest.connection 是对给定请求的底层 TCP socket 的引用。

Node.js 的 TCP 代码在 net 库中。 net docs文档 socket.remoteAddress

关于javascript - 为什么 remoteAddress 被隐藏了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28789398/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com