Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.09.2007, 18:51   #1
OrdJONY
.NET-чик
Форумчанин
 
Аватар для OrdJONY
 
Регистрация: 24.03.2007
Сообщений: 569
Вопрос Сбор и чтение пакета

Как сделать к примеру вот такой пакет:
Код:
TMyPacket = record
    proto, msg, from, fromport: DWORD;
   Reserved: array[0..15] of Byte;
end;
Это будет заголовок пакета, а дальше будет следовать его содержание, тоесть команды и др. И несколько примеров содержание пакета:
Имя Команды: PROT_LOGIN_FAILED
Параметры: причина

Имя Команды: PROT_USER_STATUS
Параметры: Status (Статус пользователя); User (Имя пользователя)
Использую Indy, пожалуйста помогите примерами именно на Инди
"Разработка под веб - как работа с пылесосом: нихрена не прикольно, но засасывает"
Мо маленький городок
OrdJONY вне форума Ответить с цитированием
Старый 17.09.2007, 09:18   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

первое скажу тебе! первые я думаю хватит 2 байта - WORD должны идти, и описывать размер посланной структуры чтобы знать сколько читать в структуру! второе вот две функции писал для себя, должны пахать

procedure RecvBuffer(Socket: TCustomWinSocket; var Buf; Count, pStart: Integer);
var
i, n: Integer;
begin
i := pStart;
while i < Count do
begin
n := Socket.ReceiveBuf(pointer(integer(@ Buf)+i)^, Count-i);
if n>-1 then inc(i, n);
end;
end;

procedure SendBuffer(Socket: TCustomWinSocket; var Buf; Count, pStart: Integer);
var
i, n: Integer;
begin
i := pStart;
while i < Count do
begin
n := Socket.SendBuf(pointer(integer(@Buf )+i)^, Count-i);
if n>-1 then inc(i, n);
end;
end;
BOBAH13 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как научить TMediaPlayer понимать кодеки из пакета K-Lite Codec Pack? eXe 171 Компоненты Delphi 9 21.08.2009 08:26
Создание окна при получение определенного пакета GHOST_Kasper Общие вопросы Delphi 5 06.02.2008 13:01
Сбор инфы с сайта. Mss_Smith Помощь студентам 6 17.06.2007 16:26
Отправка->Распаковка пакета Saxon Работа с сетью в Delphi 10 15.04.2007 20:56