我的问题也在标题中。例如,我是客户端,并且试图同时连接一台服务器。
这是情况
服务器IP:10.10.10.10 服务器端口:1010
客户端有两个线程。线程之一与服务器连接,并使连接保持活动状态。始终连接。始终从服务器接收无效或有效信号。
第二个线程正在发送消息线程。该线程从其兄弟线程获取信息,并且如果连接的主机还活着,则发送消息。
我正在尝试使用netty在Java中实现这种情况,但是消息发送者线程无法与主机建立连接。
这是关于我的代码或TCP协议的问题吗?
谢谢。
答案 0 :(得分:0)
tcp完全支持此功能,因此您应该调试代码。
在长距离Internet连接上,甚至可以使用多个并行连接来实现比使用单个连接更高的吞吐量。
答案 1 :(得分:0)
可能是由于服务器如何处理连接。如果它是单线程的,并且一次只处理一个连接,那可能就是原因。这意味着服务器保留了您从线程1开始的第一个连接,尽管该连接仍不完整,但它无法接受另一个连接(在您的情况下是从线程2进行的)。尝试在单独的线程中处理每个连接,或尝试使用java.nio.channels.Selector进行多路复用。
(这可能是一条评论。但是我没有代表。)