我想在 node.js 中编写几个 tcp 服务器/客户端。我试图弄清楚 node.js 生态系统提供了什么来使这种开发更容易。我正在考虑类似于(java)netty 的部分内容。该项目提供了一种实现协议的方法,可以将其插入网络代码管道或从实际的 tcp 连接代码中取出以进行独立测试。Node 的 http 框架通常提供一个中间件层。用户可以编写代码来拦截请求或响应以隔离功能位,因此实际的请求/响应接口不会发生太大变化。这会导致此类代码的第 3 方提供者进行日志记录、身份验证等。对于较低级别的网络代码是否存在类似的东西?(由于我测试了一些想法,如果有人知道其他提供此类功能/库的非 java/c++/c# 语言,我也想阅读它们)
2 回答
慕仙森
TA贡献1827条经验 获得超8个赞
既然你标记了 Elixir,我就咬一口。
虽然 Elixir 有一个很好的框架来为 HTTP 客户端(插件)构建这样的东西,但我考虑的一个选项是使用vegur和ranch_proxy_protocol库(由 Heroku 用 Erlang 编写,但在 Elixir 中很容易使用),vegur提供了一个可插入的中间件层,它们是易于隔离测试。我目前将它用于我公司的代理层。
即使没有这些,使用构建这样的应用程序ranch也是非常简单的。Ranch 处理套接字的侦听/接受/读取/写入,您可以在需要的地方插入可插拔管道,并使用行为(Erlang/Elixir 等价于接口)强制执行。
这些类型的应用程序几乎是 Erlang 和 Elixir 的最佳选择,如果您熟悉或对其中任何一个感兴趣,我强烈推荐它。
- 2 回答
- 0 关注
- 220 浏览
添加回答
举报
0/150
提交
取消
