繁体   English   中英

在node.js中管理基于命令的TCP套接字API的连接

[英]Managing connections on a command based TCP socket API in node.js

我构建了一个基于expresss.js的RESTful API,它使用JSON通过TCP套接字与远程服务器通信。 请求的URL将转换为相应的JSON消息,打开一个新的TCP套接字并发送消息。 然后,当收到来自相同连接的消息时,将触发事件,将评估JSON应答,并返回作为GET请求结果的新JSON消息。

可能的路径:

  1. 异步(当前正在使用) - 为每个请求打开与服务器的连接。
  2. 同步 - 创建包含所有请求的队列并等待响应,阻止代码。
  3. 跟踪 - 立即发送所有请求并异步接收答案。 在请求中使用跟踪器ID将每个请求与其答案相关联。

什么是最好的方向? 有没有什么共同的模式可以解决这种应用?

1(异步,每个请求的新连接)可能是最容易实现的。

如果您想有效地重用套接字,您应该提出自己的“保持活动”机制 - 基本上使用相同的套接字流式传输多个请求和答案。

我可能会使用双CRLF('\\ n \\ r \\ n \\ n \\ r')作为每个JSON请求的分隔符,为每个请求触发“请求”事件,并简单地异步写回答案。 可以使用无分隔符的流式传输,但是当您从套接字接收到部分JSON字符串时,它需要额外的解析。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM