Асинхронный TCP сервер на C#. Что прочитать? Решен

Доброго дня всем.
Пытаюсь разобраться с работой асинхронного TCP сервера на C# по статье msdn:
msdn.microsoft.com/ru-ru/library/dd335942.aspx

Насколько я понимаю данные записываются в буфер соединения.

Список соединений является приватным, как и практически все в классе помимо функции Start.

Скажите как правильно обрабатывать получаемые данные?
Подозреваю что должен быть бесконечный цикл после процедуры Start в основной программе, который должен обращатся к экземляру класса сервера и читать буфер каждого соединения.

Конечно же я могу сделать необходимое мне поле public'ом, но понимаю что это не правильно.

Может ли кто-ни будь подсказать как правильно работать с таким классом? Или ткнуть в мсдн где продолжается работа с этим делом. Буду весьма благодарен за любую полезную информацию.
Может кто-то подскажет хорошую книгу \ статью.
Мне хотелось бы разобраться как правильно сделать асинхронный сервер на c#.
  • Вопрос задан
  • 13020 просмотров
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Вопервых за бесконечные циклы стоит сжигать на кострах. Тут нужно обработчики событий писать/использовать, ибо потребление процессорного времени с бесконечными циклами будет просто ужасно.

У вас тут должны быть делемы вида «как максимально быстрее передать данные из потока листенера в поток обработчик» а не public/private. Данными можно через колбэки обмениваться. Все радость написатья TCP сервера это калбэки, сихнронизация потоков и прочее.

А вообще — дочитайте статью. Там вроде бы все эти вопросы рассматриваются.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
UrbanRider
@UrbanRider Автор вопроса
Вопрос решен. Спасибо большое.
Не пойму где нажать, чтобы закрыть вопрос.

Fesor, TheHorse еще раз огромное спасибо.

Буду курить книгу professional .net network programming, ну и за ссылку на msdn спасибочки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы