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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подключение к серверу нескольких клиентов 
:(
    Опции темы
boobie
Дата 9.8.2017, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Пытаюсь заставить сервер работать с несколькими клиентами, а не с одним...
Создаю сервер так:
Код

// получаем адреса для запуска сокета
IPEndPoint ipPoint = new IPEndPoint(IPAddress.Any, port);             
// создаем сокет
Socket listenSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
// связываем сокет с локальной точкой, по которой будем принимать данные
listenSocket.Bind(ipPoint);

Затем устанавливаю длину очереди:
Код

listenSocket.Listen(10);


1. Вопрос, 10 - это количество клиентов, которые отправили запрос на подключение и ожидают ответа?
2. А что будет с одиннадцатым, попытавшимся подключиться?
3. А как быть, если, например подключилось к серверу 13 клиентов и уже новые подключения не нужны ПОКА, при этом через некоторое время новые клиенты могут понадобиться, но текущая очередь не нужна... Ее можно как-нибудь очистить?

Затем создаю новый сокет для одного из очереди...
Код

Socket handler = listenSocket.Accept();

Этот метод блокирует работу потока. 
4. Можно ли его запустить внутри отдельного потока, а затем передавать этот handler, например, в массив (в котором хранить остальные сокеты клиентов) и работать там с ним?
5. Я правильно понимаю, что этот объект (в данном случае handler) - это необходимый мне сокет, который посвящен работе с клиентом, т.е. для Receive/Send и т.п.? 
6. Как проверить (кроме try-catch) активен ли он (handler в данном случае) еще, т.е. подключение существует или разорвано?

Можно ли использовать для нескольких подключений 1 порт и как организовать работу сокетов?

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

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

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

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


 




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


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

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