0

リンクに従って、非同期 TCP サーバーを作成しました。ただし、すべての例は、受信への応答としてデータを送信することのみをカバーしています。私の質問は、データを特定の TCP クライアントにプッシュする方法です。

byte[] をクライアント ID 1 に送信/プッシュする必要があるとしましょう。SocketAsyncEventArgs アーキテクチャを使用してこれを達成するにはどうすればよいですか?

アクティブな接続とクライアント ID のリストを保持する必要があることはわかっています。データをプッシュするには、このリストをどのように表示する必要がありますか?

    public bool Send(Socket socket, byte[] message)
    {

        SocketAsyncEventArgs completeArgs = new SocketAsyncEventArgs();

        if (socket.Connected)
        {
            // Prepare arguments for send/receive operation.
            completeArgs.SetBuffer(message, 0, message.Length);
            completeArgs.UserToken = socket;
            completeArgs.AcceptSocket = socket;
            completeArgs.Completed += new EventHandler<SocketAsyncEventArgs>(OnIOCompleted);

            // Start sending asyncronally.
            socket.SendAsync(completeArgs);
        }


        return true;


    }
4

0 に答える 0