0

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

4

0 に答える 0