![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#621 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Я заметил уже давно, что лучше вместо приемной переменной text использовать другое имя, поскольку это зарезервировано и связано с Caption формы, ...т.е. при изменении содержимого переменной text, заголовок формы автоматически меняется. Переменную text нужно переименовать в nettext.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
#622 |
Пользователь
Регистрация: 27.04.2011
Сообщений: 68
|
![]()
когда сообщение шифруется то шифруется один текс и передается, но когда сервер принимает сообщение он принимает польностью строку с датой и ником, и так же с сообщением. И вот когда происходит разшифровка то получается что разшифровуется и дата и ник и сообщение и получаются бока, подскажи как отсечь лишнее и сделать так что бы разшифровывался один текст.
А по поводу переменной text то это понятно у меня уже давно все испраленно было ) |
![]() |
![]() |
![]() |
#623 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Можно ввести дополнительный байт в пакет перед частью самого текста. Т.е. будет: {ключ}+{дата}+{байт разделения}+{зашифрованный текст}. Пусть процедура расшифровки или строчки кода перед ней считает байты и как встретит байт разделения (символ, который нельзя ввести с клавиатуры) будет "знать", что все остальное после него - это зашифрованный текст, нужно скопировать эту часть до конца пакета.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
#624 |
Пользователь
Регистрация: 27.04.2011
Сообщений: 68
|
![]()
а показать пример ты бы не мог, словесно как бы все понятно, но вот реализовать что то не оч получается
|
![]() |
![]() |
![]() |
#625 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Нет, код за тебя писать не буду
![]() Вот мы на стороне отправляющего сообщение клиента. Структура пакета уже описана: {ключ}+{дата}+{байт разделения}+{зашифрованный текст}. Пример? ...он есть в коде чата: Код:
Все, это понятно. Пакет ушел на сервер. Теперь нужно встречать другому клиенту, поскольку пакет через сервер идет транзитом без расшифровки. Смотрим стандартный прием: Код:
Мы помним, что в пакете есть байт (символ разделения), который нужно отыскать. Создаем цикл, от 1 до конца пакета. На каждом шаге сверяем очередной символ с Chr(140). Если будет истина, то копировать пакет с текущего символа+1 до конца пакета и приравнивать это строковой переменной, которая будет являться параметром к функции дешифровки. Следом сбрасываем цикл (break). Все. Можно вообще точно знать сколько байт в ключе пакета и шифровать все подряд вместе с датой, тогда байт разделения не нужен.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
#626 |
Пользователь
Регистрация: 27.04.2011
Сообщений: 68
|
![]()
Beermonza
Подскажи такую вещь, у когда отправляется сообщение всем пользователям с клиента, то происходит на сервере ошибка "List index out bounsds (2), 2 - сколько пользователей подключенно, если 3 пользователя то будет (3), в чем это может быть прикол? И это тока при отсылки сообщений всем пользователям на клиенте, на личных все хорошо работает, как у клиента так и у сервера, и сервер нормально отсылает всем сообщение. Да кстати и была переменная моменена где ты говорил i на b Поменять, но это ж в личных сообщения на сервере. Буду очень признател за помощь |
![]() |
![]() |
![]() |
#627 |
Пользователь
Регистрация: 27.04.2011
Сообщений: 68
|
![]()
У меня то разделен сервер и клиент, так что предоставлю код, может где то ошибка допущена:
ServerTimerTimer Код:
А при открытом делфи выскакивает такое сообщение " Project Server.exe rainsed exception class ElistError with message 'List index out of bounds (1)' Process stopped. Use Step or Run to continue. " Последний раз редактировалось darek13; 26.05.2011 в 15:27. |
![]() |
![]() |
![]() |
#628 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
"List index out of bounds (2) - выход за пределы адреса, т.е. отсутствует указатель на второй канал в данном случае. Вот тут ошибка:
Код:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 26.05.2011 в 15:24. |
![]() |
![]() |
![]() |
#629 |
Пользователь
Регистрация: 27.04.2011
Сообщений: 68
|
![]()
Спасибо большое, внатуре в это впроблема была, просто провтыкал переименовать в этом месте, а я уже час сижу и переменный перейменовал и код прогнал заново, респект тебе большой )))
|
![]() |
![]() |
![]() |
#630 |
Пользователь
Регистрация: 27.04.2011
Сообщений: 68
|
![]()
Beermonza
а у тебя случайно нет исходников по делфи для передачи данных по сети как клиент-сервер, сервер - клиент и возможность клиент-клиент? буду очень признатель за любую помошь по этой теме |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
обновление в блоге - Создание клиент-сервера | 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 |