gpt4 book ai didi

tcp - 从 akka.net 远程检索动态分配的 tcp 端口

转载 作者:可可西里 更新时间:2023-11-01 02:54:06 24 4
gpt4 key购买 nike

我的工作是编写一个带有一些并发任务的分布式客户端/服务器应用程序。所以我决定使用 akka.net 来解决并发问题。为了实现服务器和客户端之间的 ipc,使用了 akka remote。由于某些原因,一台工作站上可能会运行多个相同类型的客户端。所以我将这些客户端配置为动态分配 tcp 端口。这适用于向服务器发送消息。

我的问题是向客户推送一些信息。为了完成这个任务,客户端上存在一个参与者。现在服务器为这个参与者创建了一个引用。因此它需要客户端正在监听的端口。我的想法是在某种连接过程中使用服务器上的参与者将客户端使用的 tcp 端口发送到服务器。

搜索了几个小时后,我没有找到任何提示可以在哪里找到动态分配的 TCP 端口。那么客户端如何获得分配的 tcp 端口呢?

好的,我可以使用 akka.cluster。但是我认为使用 akka.cluster 是在打破车轮上的苍蝇。如果它解决了我的问题,还有待观察。

最佳答案

两个建议,假设是您的客户端首先与服务器联系。

  1. 我会让服务器跟踪哪些客户端已连接。我可能会有一条心跳消息,每隔几秒从每个客户端系统发送一次。通过这种方式,您可以为每个事件的客户端存储一个 IActorRef 并发送回消息,而无需查找端口。 IActorRefs 在位置透明的情况下更可取。
  2. 如果您确实需要明确地找到端口,您可以从客户端系统上其中一个参与者的 IActorRefPath 属性中提取它.

关于tcp - 从 akka.net 远程检索动态分配的 tcp 端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34742959/

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