gpt4 book ai didi

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

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

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

可能的路径:

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

最好的方向是什么?有什么通用的模式可以解决这类应用吗?

最佳答案

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

如果你想有效地重用套接字,你应该想出你自己的“保持事件”机制——本质上是使用同一个套接字流式传输多个请求和答案。

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

关于api - 在 node.js 中管理基于命令的 TCP 套接字 API 上的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13531708/

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