![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#431 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
1,2. В прикрепленном файле везде ползет одна и та же ошибка, отправка у вас идет через:
Код:
Код:
3. Администрирование у вас проверяется по IP вот из этого массива - AdminIPMas, в момент изъятия привилегий администратора, вы отключаете флаг администратора UserMas[i].Admin := False и удаляете IP с вашего массива AdminIPMas (через цикл). Получается так: пользователь теряет флаг, сразу перестает быть админом, а если выйдет и снова войдет, то условие поиска в AdminIPMas уже не найдет его IP, его там нет, ...работа выполнена, пользователь никогда не будет администратором, до поры, пока вы снова не впишите его IP в массив и не установите флажок UserMas[i].Admin.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
#432 | |||
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,899
|
![]()
Хочу закрепить умение правильно оформлять циклы. Посмотрите пожалуйста файл Оформление цикла.txt, оформление правильное?
1. Цитата:
Цитата:
2. В ранее выложенном текстовом документе, вы наверно видели, что IP для бана/разбана, активации/деактивации админки я получаю, обращаясь к каналу i, но у меня IP адреса уже имеются в самом юзер листе, может их брать оттуда или лучше всётаки из канала i? 3. Цитата:
4. Вот тут ещё не понятно. Код:
Код:
![]() 5. Частенько помигивающий заголовок сервера - это признак чего? Подозрение на самоддос. 6. Можно сделать, чтобы клиент автоматически отсылал команду проверки на наличие админства? 7. Правильно ли я добавил закрытие канала в случае если IP уже есть в чате? Код:
Последний раз редактировалось Shouldercannon; 11.06.2010 в 18:34. |
|||
![]() |
![]() |
![]() |
#433 |
Новичок
Джуниор
Регистрация: 03.06.2010
Сообщений: 2
|
![]()
Извините что перебиваю Вас.
![]() Я пробовал изменить программу (изначальную) таким образом, чтобы вместо возни с обновлениями списка пользователей, можно было просто передавать объект типа TListItems через метод Sendbuf. В результате чего, у меня прога выдаёт ошибку. Так вот, возможна ли такая передача вообще? Можете хотя бы просто ответить, да или нет. Последний раз редактировалось BrewMaster; 12.06.2010 в 00:04. |
![]() |
![]() |
![]() |
#434 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
BrewMaster, передать объект можно из приложения 1 в приложение 2 на одной машине, ...передача по сети поведет за собой переработку и обновление, поскольку в классе используются указатели на память, которые не сопоставляются на разных машинах сети. Придется передавать массив байт и строить список заново, ...проще его создать с нуля используя последовательность записей, которую передает сервер, экономя ресурсы ПК, трафик и ваше время.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
#435 | |||||||
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]() Цитата:
Код:
Цитата:
Я рекомендую вам не использовать сам список UserListView в качестве опорного для циклов, на это есть внутрисистемный массив UserMas и контрольный "указатель" на число каналов ActiveConnections, иначе вы рискуете "положить" сервер, если процедура списка UpdateUserList неверно заполнит его (человеческий, сетевой фактор). Цитата:
Цитата:
Цитата:
Код:
МишаЂ ...на конце будет произвольный символ, или операция вызовет ошибку. Между тем, находясь на позиции 3 нужно помнить, что из всей строки ненужных станет 2 предыдущих символа, на это число и станет короче длина правильной вырезки, если хотите вырезать под "самый хвост". Переменная len уже укорачивает длину пакета на 1, в том первом примере за код отвечал только один символ, ...если у вас теперь 2 символа, значит пусть лен хранит в себе длину пакета минус 2, это будет вещественная часть пакета, его тело, с которым нужно будет работать от начала, с позиции 1. Цитата:
Цитата:
продолжение следует ...
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
|||||||
![]() |
![]() |
![]() |
#436 | ||
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
... продолжение
Цитата:
Код:
Цитата:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 12.06.2010 в 20:34. |
||
![]() |
![]() |
![]() |
#437 | |||
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,899
|
![]()
1.
Цитата:
Код:
2. Цитата:
Код:
3. Правильно ли написан антибан для сервера (Антибан.txt)? 4. Цитата:
Код:
5. Почему здесь (Code.txt) на помеченой строке возникает ошибка: List index out of bounds (11741895)? 6. Снова трабл с личкой. Хочу всётаки отделить ник от сообщения. Так я отправляю сообщение: '01' + addressee + Chr(152) + Form2.ENick.Text + Chr(161) + ': ' + TextBox.Text, так оно приходит: 01Shouldercannon˜! .'. Server .'. !Ў: Shouldercannon (приват) 0. Проходя через Copy(text, 4 + length(Form2.ENick.Text), len - length(Form2.ENick.Text) - 1 оно становится таким: ! .'. Server .'. !Ў: Shouldercannon (приват) 0. Что-то меня не туда понесло ![]() Последний раз редактировалось Shouldercannon; 13.06.2010 в 12:48. |
|||
![]() |
![]() |
![]() |
#438 |
Новичок
Джуниор
Регистрация: 03.06.2010
Сообщений: 2
|
![]()
Я плохо знаю Делфи и его структуру, и мне оставалось лишь гадать, сделал ли я всё как надо, или лишь просто такая идея невозможна. Благодарю за ответ!
|
![]() |
![]() |
![]() |
#439 | ||||||
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]() Цитата:
Если у вас хватит терпения, то можете написать счетчик, чтобы пользователь оставался на связи еще некоторое время, которого хватит для корректной отправки команды "20". Но в этом случае пользователя придется впустить в чат, заблокировав ему любые действия. Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 14.06.2010 в 18:11. |
||||||
![]() |
![]() |
![]() |
#440 | ||
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,899
|
![]()
1. Закрывая канал юзера я вызываю на клиенте Disconnect и запускаю таймер для переподлючения. Если юзер не допущен до чата и сидит с запущеной прогой, переподключаясь через каждые 5 секунд, он тем самым будет ддосить сервер?
Код:
Код:
3. Цитата:
4. Цитата:
Код:
Код:
Последний раз редактировалось Shouldercannon; 15.06.2010 в 11:46. |
||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
обновление в блоге - Создание клиент-сервера | 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 |