Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 23.03.2009, 12:37   #1
Новичок
 
Регистрация: 22.01.2009
Сообщений: 5
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
ppts пока неопределено
По умолчанию работа со строками

подскажите пожалуйста как изменить пакет идущий от сервера к клиенту? надо именно не создать новый, а переделать текущий. расскажу для чего надо...
пакет UserInfo идет от сервера к клиенту, я хочу его перехватить и записать нужные мне координаты, которые лежат в начале пакета. создать новый напряжно ибо этот пакет весит 706 байт.
ppts вне форума   Ответить с цитированием
Старый 23.03.2009, 13:21   #2
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

http://coderx.ru/showthread.php?t=10
первый же пример там.
alexteam вне форума   Ответить с цитированием
Старый 23.03.2009, 19:12   #3
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от ppts Посмотреть сообщение
подскажите пожалуйста как изменить пакет идущий от сервера к клиенту? надо именно не создать новый, а переделать текущий. расскажу для чего надо...
пакет UserInfo идет от сервера к клиенту, я хочу его перехватить и записать нужные мне координаты, которые лежат в начале пакета. создать новый напряжно ибо этот пакет весит 706 байт.
1) Cохраняем пакет из переменной pck в переменную buf.
delphi Код:
buf:=pck;
2) Уничтожаем пакет:
delphi Код:
pck:='';
3) Изменяем в переменной buf данные с помощью команд
delphi Код:
WriteC(v:byte; ind:integer=0) - пишет в переменную buf один байт WriteH(v:word; ind:integer=0) - пишет в переменную buf число (2 байта) (v. 3.1.8+) WriteD(v:integer; ind:integer=0) - пишет в переменную buf число (4 байта) WriteF(v:double; ind:integer=0) - пишет в переменную buf число c плавающей запятой(8 байт) (v. 3.1.8+) WriteS(v:string) - пишет в переменную buf строку (автоматический перевод в unicode) В первых четырёх процедурах присутствует необязательный параметр ind. Если параметр не указан, то переменная buf дополняется байтом/числом, иначе модифицируется часть буфера. Пример: buf=HStr('AA BB CC DD EE'); Если вызвать функцию WriteD(10,1), то получим buf=[0A 00 00 00 EE]. А если просто WriteD(10), то [AA BB CC DD EE 0A 00 00 00].
4)Отправляем
delphi Код:
SendToClient - отправляет клиенту содержимое переменной buf SendToServer - отправляет серверу содержимое переменной buf SendToClientEx(CharName: string) - отправляет клиенту с именем CharName содержимое переменной buf (v. 3.1.3+) SendToServerEx(CharName: string) - отправляет серверу с именем CharName содержимое переменной buf (v. 3.1.3+) (к пакету buf автоматически добавляются 2 байта длины)
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни



Последний раз редактировалось NLObP, 23.03.2009 в 19:15.
NLObP вне форума   Ответить с цитированием
Старый 01.04.2009, 13:58   #4
Пользователь
 
Регистрация: 05.02.2009
Сообщений: 62
Сказал Спасибо: 1
Имеет 18 спасибок в 9 сообщенях
lexayar пока неопределено
По умолчанию

Или 2 пункт исключить, а 4 пункт заменить на:
Код:
pck:=buf;
lexayar вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Программинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 19:10.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!