Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
2 / 2 / 0
Регистрация: 22.07.2010
Сообщений: 51

TCP сервер обработчик запросов

13.11.2011, 12:52. Показов 1892. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу помощи.
Задача такая ...
Есть сеть из 10 компов. Один сервер.
На сервере программа принимает по TCP сообщения от клиентов и в зависимости от сообщения выполняет определенные действия.
Серверная прога:
Есть поток прослушивающий TCP соединения (используются сокеты) (TcpListener)
Для каждого соединения порождается поток работы с подключенным киентом (прием сообщения) (Thread TcpClient NetworkStream)

Получается что одновременно может обрабатываться несколько сообщений.
Где разместить код обработки сообщений ? И вообще как лучше организовать обработку сообщений ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.11.2011, 12:52
Ответы с готовыми решениями:

Обработчик пакетов на основе TCP NetworkStream
Собственно, хочу сделать так, чтобы данные читались из NetworkStream и записывались MemoryStream. Проблема в том, что я не могу узнать...

Асинхронная обработка TCP-запросов
Добрый вечер. Как реализовать асинхронную передачу сообщений, то есть держать связь с подключенным клиентом и принимать от него...

TCP сервер
данные между сервером и клиентом передаются байтиками byte msg = Encoding.UTF8.GetBytes(Console.ReadLine()); //Конвертируем ...

2
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
13.11.2011, 13:13
Цитата Сообщение от HypnoticSpecter Посмотреть сообщение
Где разместить код обработки сообщений ?
В соответствующих методах.
Метод вызывается, когда получено полное сообщение. Стало быть, из обработчика входных данных.
Если нужна возможность делать буферизацию команд (например, если команды выполняются долго, а клиент посылает их часто), то можно реализовать паттерн Producer/Consumer через очередь.

Цитата Сообщение от HypnoticSpecter Посмотреть сообщение
как лучше организовать обработку сообщений ?
Зависит от требований приложения.
0
2 / 2 / 0
Регистрация: 22.07.2010
Сообщений: 51
13.11.2011, 13:34  [ТС]
Запросы к серверу будут редко. примерно 10-20 запросов в час.
Я разместил код непосредственно в потоке обработки соединения (предварительно соединение закрывается).
Не знаю на сколько это рационально. Так то код обработки будет не очень большой и не очень трудоемкий.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.11.2011, 13:34
Помогаю со студенческими работами здесь

Сервер на сокетах TCP
Здравствуйте.Пробую по примеру сделать простенький чат на TCP. В клиенте отсылаю сообщения, но до сервера доходит только первое. В чем...

TCP сервер запустить и остановить
Здравствуйте. Скажите пожалуйста: как сделать так: чтобы на одну кнопку на форме запустить TCP сервер: а на другую остановить его? ...

Книги о программировании TCP/IP (Клиент-сервер)
Всем привет! Посоветуйте книги (На Русском языке) о программировании TCP/IP на С# Желательно Начальный и средний уровни. Хотя не откажусь...

Поиск по маске на клиент сервер tcp
Я знаю что в обычном случае можно сделать поиск через void GetFiles() { //список файлов с расширением txt диска C: ...

TCP/IP клиент-сервер не могу подключиться
создал клиент-сервер когда клиенту поставил подключение через "127.0.0.1"и через порт 80 все работало а когда через мой ip 93.171.243.89...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru