从一个客户端到一台服务器的多个TCP连接

时间:2018-10-10 15:52:52

标签: java multithreading tcp

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

这是情况

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

客户端有两个线程。线程之一与服务器连接,并使连接保持活动状态。始终连接。始终从服务器接收无效或有效信号。

第二个线程正在发送消息线程。该线程从其兄弟线程获取信息,并且如果连接的主机还活着,则发送消息。

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

这是关于我的代码或TCP协议的问题吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

tcp完全支持此功能,因此您应该调试代码。

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

答案 1 :(得分:0)

可能是由于服务器如何处理连接。如果它是单线程的,并且一次只处理一个连接,那可能就是原因。这意味着服务器保留了您从线程1开始的第一个连接,尽管该连接仍不完整,但它无法接受另一个连接(在您的情况下是从线程2进行的)。尝试在单独的线程中处理每个连接,或尝试使用java.nio.channels.Selector进行多路复用。

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