Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Зависает tcp сервер

43K
21 апреля 2010 года
YPotapych
24 / / 06.12.2009
Во многих учебниках говорится что писать сервер нужно так:
Код:
Int32 port = 13000;
                IPAddress LocalAddr = IPAddress.Parse("127.0.0.1");
                TcpListener server = new TcpListener(LocalAddr, port);
                server.Start();
                Byte[] bytes = new Byte[256];
                String data = null;
                while (true)
                {
                    TcpClient client = server.AcceptTcpClient();
                    data = null;
...............................................................................
                }


Но тогда получается бесконечный цикл и серве зависает до закрытия (хоть и обрабатывает запросы). А как надо сделать чтобы не висло
5
21 апреля 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: YPotapych
А как надо сделать чтобы не висло


Нажать Ctrl + C, Ctrl + Break или Alt + F4.

253
22 апреля 2010 года
Proger_XP
1.5K / / 07.08.2004
Либо использовать какой-нибудь глобавльный флаг, который бы проверялся в начале каждого цикла. Флаг ставить можно либо по WM_QUIT, нажатию кнопки, приёму какого-то сигнала сервером и т.д.
5
22 апреля 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: Proger_XP
Либо использовать какой-нибудь глобавльный флаг, который бы проверялся в начале каждого цикла. Флаг ставить можно либо по WM_QUIT, нажатию кнопки, приёму какого-то сигнала сервером и т.д.

В событии Console.CancelKeyPress можно обработать означенные выше сочетания клавиш. :)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог