Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Badfish
1 / 1 / 1
Регистрация: 28.09.2012
Сообщений: 54
1

Остановить UdpListener

21.05.2013, 22:48. Просмотров 628. Ответов 3
Метки нет (Все метки)

Всем привет!

У меня есть метод

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
public void StartUDPListener()
        {
            bool done = false;
 
            listener = new UdpClient(portUDP);
 
            IPEndPoint groupEndPoint = new IPEndPoint(IPAddress.Any, portUDP);
 
            try
            {
                while (!done)
                {
                    try
                    {
                        byte[] bytes = listener.Receive(ref groupEndPoint);
 
                        string message = Encoding.ASCII.GetString(bytes);
 
                        if (message == "END")
                        {
                            done = !done;
                        }
                        else
                        {
                            hostIP.Add(message);
                        }
                    }
                    catch (Exception e)
                    {
                        MessageBox.Show(e.Message);
                    }
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }
 
public void StopUdpListener()
        {
            try
            {
                listener.Close();
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }
мне нужно остановить выполнение метода StartUDPListener().

когда программа доходит до строчки, она стоит там пока не придет сообщение
C#
1
 byte[] bytes = listener.Receive(ref groupEndPoint);
Мне нужно остановить выполнение этого метода при нажатии кнопки, причем сообщение необязательно должно прийти.

Заранее спасибо
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2013, 22:48
Ответы с готовыми решениями:

Остановить процесс
Лазил по просторам форума к сожалению не наткнулся на то что мне нужно. Вопрос состоит в том....

WebClient остановить
Использую WebClient.DownloadFileCompleted подскажите как остановить или отменить текущую закачку и...

Остановить поток
Всем привет. Допустим я создаю поток: void doge_start_thread() { ...

Остановить цикл
Здравствуйте! Подскажите, у меня такой вопрос: можно ли поставить на паузу выполнения цикла, но не...

3
phantom96
MЫW
124 / 109 / 9
Регистрация: 15.02.2013
Сообщений: 538
21.05.2013, 23:19 2
А если выполнить в отдельном потоке StartUDPListener(), а по кнопке этот поток убить?
1
Badfish
1 / 1 / 1
Регистрация: 28.09.2012
Сообщений: 54
22.05.2013, 00:19  [ТС] 3
Спасибо помогло)

Добавлено через 2 минуты

Не по теме:

как только я не пробовал останавливать: и с таймером, и в отдельном потоке запускал
byte[] bytes = listener.Receive(ref groupEndPoint);
сейчас окончательно проверю и отпишусь



Добавлено через 52 минуты
не помогло(
0
phantom96
MЫW
124 / 109 / 9
Регистрация: 15.02.2013
Сообщений: 538
22.05.2013, 12:50 4
У вас же listener и так глобально установлен. По клику на кнопке вызываете listener.close();
0
22.05.2013, 12:50
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2013, 12:50

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как остановить поток?
Я видел подобную тему но применить это к своей программе я не сумел. У меня есть класс клиент и...

Остановить таймер в методе
Всем доброго времени суток, помогите разобраться с проблемой останова и запуска таймера. Имеется...

Остановить выполнение цикла
while (true) { } Так цикл работает до бесконечности. Вопрос как его остановить? break;

Остановить выполнение кода
В делфи для остановления выполнения есть метод exit. то есть можно было сделать так: var...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.