![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#711 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Нет, ...это потому, что ActiveConnections возвращает фактическое число каналов, ...их "0" быть не может. А Connections - это массив каналов, который как и все массивы имеет счисление от нуля.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
#712 |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,899
|
![]()
Не помню уже было или нет, но как проверить на активность конкретное соединение на сервере?
|
![]() |
![]() |
![]() |
#713 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Сервер не держит неактивных соединений, сокет удаляется автоматически, номера каналов перераспределяются.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
#714 |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,899
|
![]()
Допустима ли следующая реализация:
# При подключении клиент отсылает на сервер Login, после чего сервер добавляет пользователя в массив и рассылает список по всем клиентаи # При отключении кого-либо или ошибке сокета перебираем оставшиеся подключения и выкидываем отвалившихся из массива. Только здесь проблема, по чему проверку делать? Последний раз редактировалось Shouldercannon; 15.01.2013 в 09:01. |
![]() |
![]() |
![]() |
#715 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Shouldercannon, логика не совсем правильная, ...а точнее не защищенная. Сервер должен спрашивать кто таков клиент, а не наоборот. При появлении коннекта идет проверка IP, БД заблоченных или недопустимых. Потом пауза, ...если клиент "вякнет", то выбросить его из чата. Если будет молчать непозволительное время - выбросить из чата. Подумай хорошо.
Сервер подаст запрос клиенту, и тот должен корректно ответить, ...в противном случае - выбросить из чата. И т.д. и т.п. ...все возможные варианты поведения клиента. У сокета и конкретного канала есть свойство Data, там удобно хранить указатель на ячейку массива в которой "прописан" клиент. При перераспределении каналов нумерация меняется, а указатель остается. Примени для индексирования пользователей.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
#716 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,899
|
![]() Цитата:
Ещё напрягает момент с сервером, если один из клиентов не отвечает, то сервер ждёт ответа и список клиентов не появляется ни у кого, а ведь клиент может не ответить вообще. |
|
![]() |
![]() |
![]() |
#717 | |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]() Цитата:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
|
![]() |
![]() |
![]() |
#718 | ||
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,899
|
![]() Цитата:
Цитата:
Код:
Код:
Код:
Последний раз редактировалось Shouldercannon; 25.01.2013 в 19:39. |
||
![]() |
![]() |
![]() |
#719 | |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]() Цитата:
Если приложение является только сервером, то процедура всё равно нужна. Это кнопка "вкл/выкл" сервера, ...или он будет выключаться с помощью "Диспетчера задач"? ![]()
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
|
![]() |
![]() |
![]() |
#720 |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,899
|
![]()
Что-то не догоню.
1. Если я из обработчика запска/остановки сервера удалю все упоминания о сервере (ячейка массива [0]), то Код:
2. Если я полностью искореню все записи о сервере (ячейка массива [0]), вообще выкину его, то все циклы связанные с ServerSocket можно делать с 0 по - 1 и даже здесь убрать + 1 Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
обновление в блоге - Создание клиент-сервера | Pblog | Обсуждение статей | 0 | 03.10.2007 17:12 |
обновление в блоге - Диплом. Создание и продвижение сайта - готовь сани летом, а дипл | Pblog | Обсуждение статей | 0 | 31.08.2007 20:00 |
обновление в блоге - USB Холодильник | Pblog | Обсуждение статей | 0 | 25.06.2007 14:13 |
обновление в блоге - О ярлыках | Pblog | Обсуждение статей | 0 | 27.05.2007 03:17 |