C #: простой вопрос о сервере TCP - PullRequest
1 голос
/ 23 апреля 2009

Я попытался отправить пакет в сокет, который я использую для прослушивания соединений - конечно, я не смог.

Я помню дни, когда я писал на паскале, что был еще один сокет, и я тоже должен отправлять соединения, он был получен после "Принять".

Ну, если это правильно, то это моя проблема:

Я использую WSAAsyncSelect () на моем TCP-сервере (C #)

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 ().

Пожалуйста, предоставьте пример, показывающий, как это должно быть сделано.

Заранее спасибо!

1 Ответ

2 голосов
/ 23 апреля 2009

Посмотрите на TcpListener . Ограничьте язык C #, чтобы избавиться от примеров, не относящихся к C #.

...