gpt4 book ai didi

json - node.js - 与 TCP 服务器通信(数据 == JSON)

转载 作者:可可西里 更新时间:2023-11-01 02:52:56 25 4
gpt4 key购买 nike

我是 node.js 的新手,在上周末深入研究了它,并从各种示例和小教程中获得了乐趣。现在我想为我的局域网启动一个小项目,并有几个问题可以让我自己走上正确的方向。

设置:
我的局域网上运行着一个服务器服务。可以在特定端口上通过 TCP 和/或 HTTP(可以启用或禁用 TCP 或 HTTP 或两者)与该服务通信,并根据请求通过 JSON 发送和接收数据。我基本上想做的是为该服务创建一个基于 node.js 的网络界面,以使用网络浏览器从该服务接收和发送 JSON 数据。

问题:
我已经知道如何基于 node.js 设置 http 服务器。但是现在我一直在寻找一个想法如何创建基于 node.js 的客户端,它位于服务和网络浏览器客户端之间,以将数据从客户端传递到服务器,反之亦然。类似于路由器或代理。

这是一个基于客户端(浏览器)观点的基本方案:

发送:浏览器请求 -> node.js 路由 -> 服务接收
接收:Webbrowser 接收 <- node.js 路由 <- 服务响应

问题:
- 选择 TCP 还是 HTTP? (也许禁用 HTTP 服务器会节省一些资源)-可能已经由 this post 回答了
- 是否有适合我需要的 node.js 包?
- 寻求一个框架(表达式?)还是简单的 node.js 就足够了?
- 任何提示表示赞赏:)
编辑:
- 是否可以在 node.js 中绑定(bind)像 eth0 这样的网络设备而不是定义 ip 地址?

感谢您的帮助&&致以最诚挚的问候
头孢拉

最佳答案

没有理由不能拥有 REST HTTP 服务。

使用像 express 这样的东西处理路由。

如果我正确理解你的问题,那么你有一个用“foobar”编写的 web 服务,位于你可以使用 node.js 连接的某个 TCP 端口上。

所以如果你使用 express 你会写类似的东西

app.get("/resources/", function(req, res) {
var socket = new net.Socket();
socket.connect(port, host, function() {
socket.on("data", function(json) {
res.contentType("json");
res.send(json);
socket.end();
});
socket.write(...);
});
});

基本上,您已经编写了一个 http 中间人,它通过 TCP 联系您的服务,然后将数据写入您的 HTTP 请求的响应中。

关于json - node.js - 与 TCP 服务器通信(数据 == JSON),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5622334/

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