Java 同时从一个客户端到一个服务器的多个TCP连接

Java 同时从一个客户端到一个服务器的多个TCP连接,java,multithreading,tcp,Java,Multithreading,Tcp,我的问题也在标题中。例如,我是一个客户机,我试图同时连接一台服务器 情况是这样的 服务器Ip:10.10.10.10 服务器端口:1010 客户端有两个线程。其中一个线程与服务器连接,并保持连接活动。始终保持连接。始终从服务器接收死信号或活信号 第二个线程正在发送消息线程。此线程从其同级线程获取信息,如果连接的主机处于活动状态,则发送消息 我试图用netty在Java中实现这种情况,但消息发送者线程无法与主机建立连接 这是关于我的代码还是tcp协议的问题 谢谢。tcp完全支持这一点,因此您应该调

我的问题也在标题中。例如,我是一个客户机,我试图同时连接一台服务器

情况是这样的

服务器Ip:10.10.10.10 服务器端口:1010

客户端有两个线程。其中一个线程与服务器连接,并保持连接活动。始终保持连接。始终从服务器接收死信号或活信号

第二个线程正在发送消息线程。此线程从其同级线程获取信息,如果连接的主机处于活动状态,则发送消息

我试图用netty在Java中实现这种情况,但消息发送者线程无法与主机建立连接

这是关于我的代码还是tcp协议的问题


谢谢。

tcp完全支持这一点,因此您应该调试代码


在长距离互联网连接中,甚至可以使用多个并行连接来实现比使用单个连接更高的吞吐量

可能是由于服务器处理连接的方式。如果它是单线程的,并且一次只处理一个连接,这可能就是原因。这意味着,服务器将保留来自thread1的第一个连接,虽然该连接仍然不完整,但它无法接受另一个连接(在您的情况下是来自thread2)。尝试在单独的线程中处理每个连接,或使用java.nio.channels.Selector进行多路复用


(这可能是一个评论。但我没有代表。)

好吧。明天我将分享我的代码。感谢tipI,我无法访问服务器代码。我甚至没有机会看到代码。但我会像我说的那样明天分享我的代码。非常感谢。问题是你的代码。演示:打开web浏览器,转到stackoverflow。打开第二个web浏览器,转到stackoverflow。如果你同时做这两件事,互联网不会爆炸;它们都能工作。但这是不同的过程,不是吗?线程处于同一进程中。这有区别吗?服务器与客户端进程模型无关。