Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Коннект к одному серверу нескольких клиентов, TcpListener и TcpClient 
:(
    Опции темы
sindi8
Дата 8.6.2006, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 6.6.2005
Где: Москва

Репутация: нет
Всего: нет



В продолжение вот этого топика - как мне сделать так, чтобы к серверу можно было приконнектить несколько клиентов? У меня сейчас получается, что клиенты коннектятся, но сообщения их становятся в очередь, и проходят только после закрытия клиента, "стоящего" в очереди впереди. Конечная цель - написать сервер, который бы отправлял данные клиентам по собывтиям в серверной форме, и чтобы сообщения слать либо сразу всем, либо изберательно конкретному клиенту. 
PM MAIL   Вверх
arilou
Дата 10.6.2006, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 3
Всего: 61



sindi8, такая штука достигается с помощью динамического распределения портов. Сервер получает соединение на основном порту, открывает новый и сообщает клиенту его номер. После этого клиент закрывает соединение с основным и открывает с новым портом. Таким образом, основной порт снова становится доступен для новых клиентов. 


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
sindi8
Дата 14.6.2006, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 6.6.2005
Где: Москва

Репутация: нет
Всего: нет



arilou, спасибо. Идея ясна. Пока оставлю как есть - клиентов 3 и расширяться все это не будет, но на будущее учту.  smile  
PM MAIL   Вверх
sindi8
Дата 15.6.2006, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 6.6.2005
Где: Москва

Репутация: нет
Всего: нет



Кстати, вот здесь неплохой пример по указанной теме. Мне помог решить в общем-то все поставленные задачи. 
PM MAIL   Вверх
Dayana
Дата 9.8.2006, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 352
Регистрация: 6.10.2002
Где: Тель-Авив

Репутация: нет
Всего: 4



Можно каждое новое соединение открывать в своем потоке... тоже хорошо работает...  smile 
PM MAIL ICQ   Вверх
arilou
Дата 9.8.2006, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 3
Всего: 61



Dayana, а боян то зачем поднимать  smile 

Цитата(Dayana @  9.8.2006,  13:55 Найти цитируемый пост)
Можно каждое новое соединение открывать в своем потоке

Это то да, только если клиентов будет не больше 20 или около того. Но все равно порты-то надо распределять динамически.


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
albert21
Дата 4.10.2006, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 10.1.2006

Репутация: нет
Всего: нет



Вот неплохая статья по этому поводу
Рассматривается сервер на основе ассинхронных сокетов
--------------------
http://www.certifications.ru/publicresults.php?tu_id=45939
PM MAIL   Вверх
Grambler
Дата 19.3.2007, 02:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 22.12.2006

Репутация: нет
Всего: нет



а я пишу сервер на асинхронных сокетах 
сколько вообще клиентов могут нормально висеть на одном порту сервера ?
объемы данных небольшие 
примерно раз в минуту от клиента по 200 байт
и время от времени от сервера клиентам 2.5 Кб
у меня планируется до 50 на 1-м этапе 
дальше возможно больше
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0790 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.