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

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

build立:
我有我的局域网上运行的服务器服务。 可以通过TCP和/或HTTP(可以启用或禁用TCP或HTTP或两者都可以)在特定端口上与该服务进行通信,并通过JSON在请求上发送和接收数据。 我基本上想要做的是创build一个基于该服务的node.js的web界面,接收和发送来自该服务的webbrowser的JSON数据。

问题:
我已经知道如何设置一个基于node.js的http服务器。 但是现在我一直在想如何创build一个基于node.js的客户端,它位于服务和webbrowser客户端之间,通过客户端到服务器之间的数据,反之亦然。 像路由器或代理。

这是一个基于客户端(网页浏览器)观点的基本scheme:

发送:Webbrowser请求 – > node.js路由 – >服务接收
接收:Webbrowser收到< – node.js路由< – 服务响应

问题:
– 转到TCP或HTTP? (也许禁用HTTP服务器将省去一些资源) – 也许已经回答了这个职位
– 有没有适合我需求的node.js包?
– 去一个框架(expression式?)或平原node.js就够了?
– 任何提示赞赏:)
编辑:
– 是否有可能在node.js中绑定像eth0这样的networking设备,而不是定义IP地址?

感谢您的帮助和最好的问候
cefra

没有理由不能有一个REST HTTP服务。

使用类似express东西来处理路由。

如果我正确地理解了你的问题,那么你有一个web服务在“foobar”写在TCP端口的某个地方,你可以连接到节点。

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

 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请求的响应。