C# TcpClient、TcpListener、NetworkStream

C# TcpClient、TcpListener、NetworkStream,c#,C#,我创建了一个即时消息,允许客户端通过服务器进行通信 服务器存储已登录的客户端的网络流和用户名,从客户端发送的消息用于确定服务器也应将消息路由到谁 我遇到的问题是,从一个客户端到另一个客户端的前两条消息是有效的,例如: 客户端1向客户端2发送消息 服务器接收客户端1的消息并路由到客户端2(目标) 客户端2接收消息(显示) 副总统维西亚 在client1发送初始消息后,client2不再从client1接收消息 我看到的问题是,服务器确实接收到消息,并且似乎将其发送到正确的流,但预期的客户端没有

我创建了一个即时消息,允许客户端通过服务器进行通信

服务器存储已登录的客户端的网络流和用户名,从客户端发送的消息用于确定服务器也应将消息路由到谁

我遇到的问题是,从一个客户端到另一个客户端的前两条消息是有效的,例如:

  • 客户端1向客户端2发送消息
  • 服务器接收客户端1的消息并路由到客户端2(目标)
  • 客户端2接收消息(显示)
副总统维西亚

在client1发送初始消息后,client2不再从client1接收消息

我看到的问题是,服务器确实接收到消息,并且似乎将其发送到正确的流,但预期的客户端没有接收到消息

接收客户端在这种情况下,client2不能/不接收消息,但可以发送消息,client1接收消息

如果需要更多信息,请告诉我

我可以保证我使用的代码是准确的,我唯一能想到的就是networkstream或tcpclient的性质

int accountThreadCount = 0;

while (accountThreadCount < login.newClientLogin.clientList.Count())
{
    AccountThread newAccountThread = login.newClientLogin.clientList[accountThreadCount];

    if (newAccountThread.username == comm.to)
    {
        Stream relayMessageStream = newAccountThread.tcpc.GetStream();
        iff.Serialize(relayMessageStream, comm);
    }

    accountThreadCount++;
}
int accountThreadCount=0;
while(accountThreadCount
AccountThread存储TcpClient和用户名以及其他内容。
现在假设这是完美的工作,否则前两个不会工作。如上所述,这对我来说非常特殊,我尝试过重新编码,但没有任何效果。

如果没有代码,我认为您不会得到太多帮助…这是我服务器上的代码,客户端代码并不重要,因为它最初可以工作,并且其中一个客户端始终可以发送但不能接收,另一个客户端无法发送但可以接收。服务器代码将放在上面!首先,我将使用WireShark来确定客户端是否未能发送消息,或者是服务器未能接收消息。