|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.06.2010, 16:36 | #411 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
...продолжение
Смотрим тот же код, но более наглядный: Код:
Код:
Код:
Далее: Код:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 03.06.2010 в 16:49. |
07.06.2010, 16:36 | #412 |
Новичок
Джуниор
Регистрация: 17.01.2009
Сообщений: 1
|
Добрый день.
Добавил функцию запроса личных данных. Всё работает: отправка запроса, обработка на сервере, отправка ответа запросчику. Тест: один сервер и 4 клиента. Сервер запрашивает данные клиента, отсылается запрос клиенту. Клиент, приняв запрос, отправляет ответ серверу. У сервера появляется окно, в котором отображаются пришедшие данные клиента. По закрытию этого окна выходит ошибка list index out of bounds (5). На запрос у последнего клиента (у которого индекс 5) ошибка не выходит. Так же ошибка происходит при запросе клиента у клиента, но более интересным способом. 4 клиента. Ошибка list index out of bounds (4!) у сервера пройдёт в таких случаях запросов клиентов: 1ый клиент =>Запрос у 3го и 4го клиентов. 2 => 4 3 => 1 4 => 1 и 2 Т.к. данные приходят и фатальных ошибок не возникает, у меня вопрос: можно ли скрыть сообщение об этих ошибках а-ля Errorcode:=0 ? Если да, то в каком событии. |
07.06.2010, 17:32 | #413 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Ошибки нужно не скрывать, их нужно смывать кро...., в смысле устранять.
Переводим на русский язык, то что нам в помощь сообщил Delphi "list index out of bounds (5)" - индекс выходит за пределы списка (индекс 5). Вы пытаетесь обратиться к индексу списка, которого не существует. Например, список имеет Count равный 3, т.е. 3 записи, вы обращаетесь к 5-му, фактически это 6-й индекс, список нумеруется по индексам от 0, Count показывает фактическое количество записей: Count = 3, индексы - 0,1,2. Ищите ошибку в цикле перебора записей.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
07.06.2010, 19:10 | #414 |
Регистрация: 18.05.2010
Сообщений: 7
|
Beermonza привет у меня к вам вопрос сегодня по защите чата
смайлы я сделал народ смайлы делайте через веб браузер самый лучший метод теперь к делу можно сделать вот так Применить шифрование пакетов недопущение отладки программ недопущение переполнения буфера на сервере постоянно имеется поток который отслеживает возможные атаки атаками считаются все соединения которые не сменяют ник с ника по-умолчанию вот как то так а может вы предложите более легкий путь и надежней жду ответа |
07.06.2010, 19:25 | #415 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
08.06.2010, 04:02 | #416 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
В посте #410 везде цикл
Код:
Цитата:
И как правельно отослать юзеру команду бана, пользуясь удалённым администированием. Это явно бред Код:
Последний раз редактировалось Shouldercannon; 08.06.2010 в 12:56. |
|
08.06.2010, 16:43 | #417 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
morfey, вы бот что ли? ...не могу понять ваше последнее сообщение, ни предложений, ни запятых, ни вопросительных знаков, ...я не понимаю этот набор слов, где чего я должен ответить? ...или это мысли вслух?
Большая просьба, задайте вопрос по человечески, ...если вы экономите свое время таким способом, почему я должен тратить свое, чтобы разбирать что от меня хотят? ...замечание принимается? ) Shouldercannon, какое значение содержит переменная BannedUnbannedNick? ...в списке UserListView ники Caption все разные, или состоят из одинаковых + номер соединения? Pos() возвращает позицию с которой начинается фрагмент, который ищется в строке.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
08.06.2010, 16:58 | #418 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
Цитата:
|
|
08.06.2010, 18:42 | #419 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Вот ваш код на обработку бана пользователя удаленным администратором:
Код:
Код:
Идем дальше. Код:
Предложу иной метод создания пакета для удаленного админа. Думаем, ...имя любого пользователя на сервере уже есть, нам нужно знать код команды, код действия админа, и, собственно, провинившийся. Что за код действия? ...ну, например, удаленный админ хочет послать предупреждение пользователю, оно кодируется например числом 1, ...может он хочет заблокировать пользователя, значит пусть код будет 2, ...может он хочет выпнуть пользователя из чата, пусть будет 3. Таким образом пакеты будут такие: 81Коля - предупреждение Коле; 82Коля - блокирование Коли, он в чат войти в следующий раз не сможет, а пока будет просто видеть, чего печатают, без права печатать самому; 83Коля - Коля вылетает из чата, соединение закрывается. Сервер приняв пакет, возьмет код команды, начнет выполнение Case 8:, где сначала идет проверка на админа (читайте посты выше, я все описывал), ...условие посчитало, что приславший пакет - удаленный админ, прекрасно, ...выполняем его команду. Сервер берет второй символ, и снова погружается в очередной Case, уже внутри пункта 8, внешнего Case. в каждом пункте 1:, 2:, 3: будет свое действие с пользователем, имя которого вырезается как Copy(text,3,len-1) (len - переменная, хранящая длину пакета минус код команды, смотрите код таймера), и проверяется в цикле по массиву UserMas.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 08.06.2010 в 18:48. |
08.06.2010, 21:11 | #420 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
Система хороша, но будет сразу бан даваться без предупреждений. Снова запара с админкой, чтоб ей не ладно было. Может сделать отлов команды 82 и через case пустить, ведь кровь из носу админка должна автоматом присваиваться. Последовал вашему совету, AdminNick заменил на UserMas[i].Name. Также пофиксил цикл команды 8 и теперь при бане одного нет месива, который вы видели в прикреплённом мною файле.
Цитата:
Последний раз редактировалось Shouldercannon; 08.06.2010 в 21:35. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
обновление в блоге - Создание клиент-сервера | 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 |