gpt4 book ai didi

Java Socket 节点(代理)连接到尚未 Activity 的节点

转载 作者:行者123 更新时间:2023-12-02 10:02:05 27 4
gpt4 key购买 nike

我有一个与套接字相关的问题,我生成了 2 个节点,每个节点都与自身以及其他节点进行通信。节点的 IP 位于“brokers.txt”文件中,如下所示。

192.168.1.18:8080
192.168.1.18:8081

第一个代理尝试连接到自身并成功,但随后尝试连接到第二个代理却失败。这是发生的连接的详细图像。

enter image description here

每个节点都有一个服务器监听器(它是一个线程)和一个发送方部分(其行为类似于客户端,但不是线程)。由于它不是线程,因此我无法延迟发送方部分。有没有办法等到Sender部分开始工作而无需等待?

例如,一种可能的解决方案是创建一个异步发生的重新连接作业,但我不知道这是否是最佳选择。

最佳答案

正如我从输出中看到的,随着套接字节点数量的增加,问题变得越来越大。例如,如果您有 3 个节点,则错误将为 3,依此类推...线程的意外行为是为什么您需要以不同的方式解决此问题,而不添加更难以理解的代码(例如重新连接作业)。解决方案就像一次一步一样简单,首先生成线程但不生成发送者部分,保存每个线程的实例,最后随时启动发送者部分。这样每个线程都会启动并运行,这意味着它已经在监听。

此解决方案有效,但是如果您坚持重新连接作业,可以点击以下链接:

https://dzone.com/articles/schedulers-in-java-and-spring

关于Java Socket 节点(代理)连接到尚未 Activity 的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55548524/

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