|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.06.2010, 17:59 | #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) Мир духу его
|
10.06.2010, 21:13 | #432 | |||
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
Хочу закрепить умение правильно оформлять циклы. Посмотрите пожалуйста файл Оформление цикла.txt, оформление правильное?
1. Цитата:
Цитата:
2. В ранее выложенном текстовом документе, вы наверно видели, что IP для бана/разбана, активации/деактивации админки я получаю, обращаясь к каналу i, но у меня IP адреса уже имеются в самом юзер листе, может их брать оттуда или лучше всётаки из канала i? 3. Цитата:
4. Вот тут ещё не понятно. Код:
Код:
5. Частенько помигивающий заголовок сервера - это признак чего? Подозрение на самоддос. 6. Можно сделать, чтобы клиент автоматически отсылал команду проверки на наличие админства? 7. Правильно ли я добавил закрытие канала в случае если IP уже есть в чате? Код:
Последний раз редактировалось Shouldercannon; 11.06.2010 в 18:34. |
|||
11.06.2010, 23:57 | #433 |
Новичок
Джуниор
Регистрация: 03.06.2010
Сообщений: 2
|
Извините что перебиваю Вас. Есть один вопрос у меня.
Я пробовал изменить программу (изначальную) таким образом, чтобы вместо возни с обновлениями списка пользователей, можно было просто передавать объект типа TListItems через метод Sendbuf. В результате чего, у меня прога выдаёт ошибку. Так вот, возможна ли такая передача вообще? Можете хотя бы просто ответить, да или нет. Последний раз редактировалось BrewMaster; 12.06.2010 в 00:04. |
12.06.2010, 19:14 | #434 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
BrewMaster, передать объект можно из приложения 1 в приложение 2 на одной машине, ...передача по сети поведет за собой переработку и обновление, поскольку в классе используются указатели на память, которые не сопоставляются на разных машинах сети. Придется передавать массив байт и строить список заново, ...проще его создать с нуля используя последовательность записей, которую передает сервер, экономя ресурсы ПК, трафик и ваше время.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
12.06.2010, 20:21 | #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) Мир духу его
|
|||||||
12.06.2010, 20:24 | #436 | ||
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
... продолжение
Цитата:
Код:
Цитата:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 12.06.2010 в 20:34. |
||
12.06.2010, 21:16 | #437 | |||
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
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. Что-то меня не туда понесло . В общем с пришедшим на клиент приватным сообщением (не обработанного от символов) можно делать что угодно? Поместить пришедший текст начиная с Chr(152) и до конца строки в переменную, далее всё что слева Chr(161) поместить в ник, а то что с права в сообщение. Ход мыслей правельный? Последний раз редактировалось Shouldercannon; 13.06.2010 в 12:48. |
|||
12.06.2010, 22:40 | #438 |
Новичок
Джуниор
Регистрация: 03.06.2010
Сообщений: 2
|
Я плохо знаю Делфи и его структуру, и мне оставалось лишь гадать, сделал ли я всё как надо, или лишь просто такая идея невозможна. Благодарю за ответ!
|
14.06.2010, 18:00 | #439 | ||||||
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Цитата:
Если у вас хватит терпения, то можете написать счетчик, чтобы пользователь оставался на связи еще некоторое время, которого хватит для корректной отправки команды "20". Но в этом случае пользователя придется впустить в чат, заблокировав ему любые действия. Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 14.06.2010 в 18:11. |
||||||
14.06.2010, 21:24 | #440 | ||
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
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 |