Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C# Длина передаваемого сообщения - почему 1024 байта? Не единожды натыкался на примеры, в том числе и в официальной документации, в которых для передачи сообщений использовался массив на 1024 байта. Может кто-нибудь объяснить почему именно 1024? Вот более конкретный пример: Реализованы WebSocket'ы. Строки в которых идет ожидание мессаджа: var buffer = new ArraySegment<byte>(new byte); var result = await socket.ReceiveAsync(buffer,... https://www.cyberforum.ru/ csharp-beginners/ thread1599374.html C# Написать программу циклами
Помогите написать программу циклами using System; using System.IO; class Data { long z = 1000000; double Yp; double y; double time; double m = new double;
C# Вывести диагональную матрицу, элементы которой на главной диагонали убывают на 1 Вывести диагональную матрицу, элементы которой на главной диагонали убывают на 1. Первый элемент n. https://www.cyberforum.ru/ csharp-beginners/ thread1599352.html C# В последовательности символов заданной в текстовом файле, посчитать общее кол-во символов https://www.cyberforum.ru/ csharp-beginners/ thread1599327.html
В последовательности символов, заданной в текстовом файле, посчитать общее кол-во символов + - *
C# E.ProgressPercentage + decimal и возможно ли вывести примерное время распаковки Ionic_Zip.dll
Здравствуйте, прошу подсказать возможно ли выводить процент более точно, в десятичных т.е. 89,9% и возможно ли вывести примерное время распаковки Ionic_Zip.dll с горем пополам сделал вывод процента на экран относительно шкалы (она динамична), заранее благодарен
C# Записать каждый из символов предложения в файл https://www.cyberforum.ru/ csharp-beginners/ thread1599297.html
Дано предложение. Записать каждый из его символов в файл. Какая структура файла наиболее целесобразна для решения этои задачи?
C# Решение численным методом краевой задачи ПОМОГИТЕ! В общем, мне нужно написать программу, которая конечно-разностным методом решает дифференциальное уравнение( есть диф. уравнение (u''(x)+4u'(x)-u(x)=x; u(a)=0, u(b)=1), соответственно его преобразование для решения методом прогонки, и сам метод прогонки) . Как решать знаю, но не знаю как это сделать на С#. Очень жду помощи от вас. Заранее спасибо! https://www.cyberforum.ru/ csharp-beginners/ thread1599280.html передача нажатой клавиши с одного компонента другому C#
Доброй ночи. требуется при нажатии клавиш на одном компоненте передавать нажатую клавишу другому компоненту. допустим нахожусь я в гриде при нажатии ввода фокус должен передаваться на textbox при этом клавиши должны передаваться в текстбокс; пробовал KeyPressEventArgs и KeyEventArgs в разных случаях разные преобразования но блин всегда проблемы либо с преобразованием числовой клавиатуры, либо...
C# Вывести слово из массива проблема в том что нужно вывести из массива день недели, соответствующий p using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Assignment_4 { class Program4 https://www.cyberforum.ru/ csharp-beginners/ thread1599224.html C# Неизменность битового массива https://www.cyberforum.ru/ csharp-beginners/ thread1599223.html
У меня есть класс для создания битового массива и работы с ним. Одно не могу понять - как сделать свойство FixedLen – неизменность длины (bool) и применить его в условии к методу "Assign(a) – копирует в себя другой массив", да и сам метод не понимаю как сделать. Но не нужен стандартный метод ArrayCopy. Вот как я делаю массив: private byte core; public Bits() { ...
C# Ячейки dataGridView разного цвета
Ребята помогите сделать так Вот уже есть наброски кода. Подскажите как это сделать? Что нужно исправить и дописать. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq;
C# Совместная работа потоков чтения и записи Есть два параллельных потока, один выполняет запись в базу данных, другой считывает. Проблема в том, что поток записи прекращает выполнение функции через n-е кол-во раз, постоянно разное, а поток чтения продолжает работу. В чем может быть причина? https://www.cyberforum.ru/ csharp-beginners/ thread1599206.html
0 / 0 / 0
Регистрация: 03.09.2015
Сообщений: 30
0

Как правильно завершить поток с TcpListener.AcceptTcpClient() ? - C# - Ответ 8425633

02.12.2015, 10:26. Показов 2268. Ответов 0
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Меня интересует как лучше сделать остановку потока, в котором принимаем входящие TCP соединения, и используется блокирующий вызов TcpListener.AcceptTcpClient() . Код ниже работает, но мне кажется кривоват.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    // Основной поток 
    TcpListener Listener = new TcpListener(ip, tcpport);
    Listener.Start();
 
    // Cоздем отдельный поток для ожидания входящих TCP соединений
    ListnerThread = new Thread(ListnerLoop);
    ListnerThread.Start();
 
    ...
        
    // Теперь из основного потока нужно корректно остановить 
    // прием входящих TCP соединений и завершить второй поток
 
    // сейчас делаю так:
    Listener.Stop();
    ListnerThread.Join();
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
        // Этот метод работает в отдельном потоке, в нем ожидаем соединения
        private void ListnerLoop()
        {
            try
            {
               while (true)
                {
                    // Почти все время висим здесь на блокирующем вызове Listener.AcceptTcpClient(),
                    // ждем соединения
                    using (TcpClient client = Listener.AcceptTcpClient())
                    {
                        ... 
                        // принимаем соединение, передаем данные
                        client.Close();
                    }
                    // переходим к ожиданию нового соединения
                }
            }
            catch (System.Net.Sockets.SocketException) { }
            // При вызове из другого потока Listener.Stop(), возникае исключение WSACancelBlockingCall
            // Ловим это исключение, выходим из цикла и завершаем поток.
        }


Вернуться к обсуждению:
Как правильно завершить поток с TcpListener.AcceptTcpClient() ? C#
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2015, 10:26
Готовые ответы и решения:

Как правильно завершить поток сервера?
{ Listener = new TcpListener(Settings.ip, Settings.port); // Создаем &quot;слушателя&quot; для...

Как правильно завершить поток FileStream
Здравствуйте. В процессе работы программы FileStream должен работать постоянно, так как получает...

Как правильно завершить поток без исключения ThreadInterruptedException?
В общем, есть отдельный проект dll-ки с компонентом, наследующим MonthCalendar. В нем дополнительно...

Как правильно завершить поток (программа часы в Label)
Здравствуйте, есть простая многопоточная программа - на форме в Label отображается время (программа...

0
02.12.2015, 10:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2015, 10:26
Помогаю со студенческими работами здесь

Как правильно завершить поток
Всем привет. Что я делаю не так ? Поток запускается и работает хорошо, но вот при завершении...

Как правильно завершить поток QThread и выйти из него?
Здравствуйте, форумчане! Есть GUI-приложение, кнопка в окне приложения запускает цикл обмена...

Как правильно завершить поток, который лочит мьютекс в цикле?
Есть поток, созданный посредствам CreateThread, который в цикле лочит именной мьютекс, ну типа...

Правильно завершить поток
Здравствуйте!!! Делаю программу через поток. Вот код #include &lt;vcl.h&gt; #pragma hdrstop ...

Правильно завершить поток
Прошу помощи людей, хорошо разбирающихся в многопоточности. Из-за зависания формы приложения во...

Как завершить поток
Как завершить поток, начатый _beginthread( Thread, 0, NULL );

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru