少し状況を説明させてください。複数のクライアントが接続できる 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 の正しいインスタンスを作成して、クライアントのすべてのセッションにデータを送信する方法について、考えている人はいますか?