让我稍微解释一下情况。我已经编写了一个 C# 多线程服务器,多个客户端可以连接到该服务器。服务器拥有来自所有客户端的字典。现在每个客户端都会生成一个名为 ipPhone 的对象的新实例。为了让我的服务器发送到连接的客户端,我使用 networkstream.write()。发送到连接的客户端。但是,客户端可以打开多个会话。这些会话保存在 ipPhone 对象的字典中。从这些会话中,我保存了 IP 和端口。
现在我想做这样的事情。
foreach (KeyValuePair<string, IpPhoneSession> sessionPair in dicIpPhoneSessions)
{
phoneSession = sessionPair.Value;
tcpClient = new TcpClient();
tcpClient.Connect(sessionPair.ipNumber, sessionPair.portReceiving);
if (tcpClient.Connected)
{
clientStream = tcpClient.GetStream();
clientStream.Write(buffer, 0, buffer.Length);
clientStream.Flush();
}
}
但是这不起作用,因为它似乎没有发送到正确的端口。你们中的任何人对我如何创建正确的 tcpClient 和 NetWorkStream 实例以将数据发送到我的客户端的所有会话有任何想法吗?