我正在做一个使用 Java Sockets 进行节点间通信的项目。我们的模拟是这样配置的,一台机器实例化分布式系统的多个节点,另一台机器实例化两个试图连接到分布式系统(基本上是一个分布式数据库)的客户端。
非常奇怪的行为如下:当我的一位同事模拟客户端并且我的 PC 拥有分布式系统的节点时,一切都正常。客户端连接并能够正确发送请求。
但是如果我们尝试切换角色(我模拟 2 个客户端,他模拟 DDB),当我的两个客户端线程尝试连接到他的 DDB 时,执行会出现此错误:ConnectionException 连接超时。请记住,这种行为不仅发生在我的一位同事身上,而且发生在他们两个身上。
因此我认为问题更有可能出在我这边,并且我想解决它。
可能是防火墙的问题吗?使用我的 wifi 或使用手机的 USB 网络共享时都会发生这种情况(所以现在可能是 Windows 防火墙的问题,但我不擅长防火墙,而且我真的不想把事情搞砸)
编辑:不知道这是否有帮助,但我们正在使用带有 ZeroTier 的 VPN 来模拟本地网络