|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.01.2013, 15:33 | #711 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Нет, ...это потому, что ActiveConnections возвращает фактическое число каналов, ...их "0" быть не может. А Connections - это массив каналов, который как и все массивы имеет счисление от нуля.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
14.01.2013, 21:00 | #712 |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
Не помню уже было или нет, но как проверить на активность конкретное соединение на сервере?
|
14.01.2013, 22:33 | #713 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Сервер не держит неактивных соединений, сокет удаляется автоматически, номера каналов перераспределяются.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
15.01.2013, 06:55 | #714 |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
Допустима ли следующая реализация:
# При подключении клиент отсылает на сервер Login, после чего сервер добавляет пользователя в массив и рассылает список по всем клиентаи # При отключении кого-либо или ошибке сокета перебираем оставшиеся подключения и выкидываем отвалившихся из массива. Только здесь проблема, по чему проверку делать? Последний раз редактировалось Shouldercannon; 15.01.2013 в 09:01. |
15.01.2013, 18:12 | #715 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Shouldercannon, логика не совсем правильная, ...а точнее не защищенная. Сервер должен спрашивать кто таков клиент, а не наоборот. При появлении коннекта идет проверка IP, БД заблоченных или недопустимых. Потом пауза, ...если клиент "вякнет", то выбросить его из чата. Если будет молчать непозволительное время - выбросить из чата. Подумай хорошо.
Сервер подаст запрос клиенту, и тот должен корректно ответить, ...в противном случае - выбросить из чата. И т.д. и т.п. ...все возможные варианты поведения клиента. У сокета и конкретного канала есть свойство Data, там удобно хранить указатель на ячейку массива в которой "прописан" клиент. При перераспределении каналов нумерация меняется, а указатель остается. Примени для индексирования пользователей.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
16.01.2013, 05:02 | #716 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
Цитата:
Ещё напрягает момент с сервером, если один из клиентов не отвечает, то сервер ждёт ответа и список клиентов не появляется ни у кого, а ведь клиент может не ответить вообще. |
|
16.01.2013, 16:02 | #717 | |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Цитата:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
|
25.01.2013, 18:12 | #718 | ||
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
Цитата:
Цитата:
Код:
Код:
Код:
Последний раз редактировалось Shouldercannon; 25.01.2013 в 19:39. |
||
26.01.2013, 15:55 | #719 | |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Цитата:
Если приложение является только сервером, то процедура всё равно нужна. Это кнопка "вкл/выкл" сервера, ...или он будет выключаться с помощью "Диспетчера задач"?
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
|
26.01.2013, 17:16 | #720 |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
Что-то не догоню.
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 |