gpt4 book ai didi

java - 连接发送者和接收者的良好设计模式是什么?

转载 作者:行者123 更新时间:2023-11-30 04:52:13 24 4
gpt4 key购买 nike

我正在尝试实现连接发送者和接收者以进行文件传输、发送者和接收者之间的握手的逻辑。我想象的基本高级工作流程是......

Sender   : prep for transfer, create token, wait for receiver to connect

Receiver : access download URL using token, wait for sender to start sending

Sender : confirm Receiver has connected / is waiting, send

Receiver : receive

*注意:发送者只能有一个接收者,这意味着只有 1 个接收者可以“下载”发送者发送的文件

我正在使用Jetty Continuations用于长轮询服务器,这使得处理异步事件变得容易,但我不确定如何处理设计方面。对于上述工作流程,* 发送者和接收者之间的握手 * 来说,什么是好的设计模式?

最佳答案

我的转向策略是使用 JMS 队列来解决此类问题。有多种实现方式和大量选项。您可能会专门寻找“带外”文件传输,这本质上就是您所描述的:从服务器传输指向客户端要下载的文件的 token (消息)。此外,这也符合您的 1 个接收器下载要求。通过事务锁定,JMS 队列可以配置为仅允许每条消息有一个客户端。

不知道这是否真的回答了您的问题,但这可能是一个起点。

编辑:

如果您是 JMS 的新手,那么尝试一下 ActiveMQ 是一个不错的起点:

Homepage link

Doc referencing out of band file transfer您可能想要实现自己的“BlobMessage”,或者只使用常规消息并处理通过它传递的 url。

Oracle JMS 1.1 Tutorial

有很多资源可用于 JMS,因为它是一个非常古老的标准。

希望这有帮助!

关于java - 连接发送者和接收者的良好设计模式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9591265/

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