1

接続をリッスンするために使用するソケットでパケットを送信しようとしましたが、もちろん失敗しました。

接続を送信する必要がある別のソケットがあったことをパスカルでコーディングした日を覚えています。それは「受け入れ」の後に受信されました。

これが正しければ、これは私の問題です。

TCP サーバー (C#) で WSAAsyncSelect() を使用しています。

protected override void WndProc(ref Message m)
    {
        switch (m.Msg)
        {

            case Values.MESSAGE_ASYNC:
                switch (m.LParam.ToInt32())
                {
                    case Values.FD_ACCEPT:
                        WS2.Accept();
                        break;

                    case Values.FD_READ:
                        WS2.Receive();
                        break;
                    case Values.FD_CLOSE:
                        WS2.Close();
                        break;
                }
                break;

            default:
                base.WndProc(ref m);
                break;
        }
    }

接続時にクライアントにパケットを送信する必要があります。

そのクライアントにパケットを送信する必要があるソケットを取得するにはどうすればよいですか?

Accept() を呼び出さなかったのは、C# でどのように行うべきかがわからず、例を探していたからですが、古い WSAAsyncSelect() を使用したものはありませんでした。

それがどのように行われるべきかを示す例を提供してください。

前もって感謝します!

4

1 に答える 1

2

TcpListenerを見てください。言語を C# に制限して、C# 以外の例を取り除きます。

于 2009-04-23T18:58:35.623 に答える