Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.18;
Скачать: CL | DM;

Вниз

sendto проблемы!   Найти похожие ветки 

 
Chubais   (2005-04-11 02:13) [0]

Доброго времени суток!

В общем-то нужно передавать структуру частями... т.к. она слишком большая для посылки за 1 раз. Делаю так:


procedure SendData(ip: string; data: struct);
const ANSWER_SIZE = 1460;
var sin :Tsockaddr;
   s   :TSocket;
   lsin, ldata: integer;
label no_mod, bye_bye;
begin
 s := socket(AF_INET, SOCK_DGRAM, IPPROTO_IP);
 if s = INVALID_SOCKET then begin
    exit;
 end;

 sin.sin_family := AF_INET;
 sin.sin_port := htons(6483);
 sin.sin_addr.S_addr := inet_addr(pChar(ip));

 ldata := sizeof(data);
 lsin  := sizeof(sin);

 asm
   mov eax, ldata
   mov esi, offset data
   mov ecx, ANSWER_SIZE
   xor edx, edx
   div ecx
   mov ebx, eax
   cmp edx, 0
   jz no_mod
   mov edi, edx
   cmp ebx, 0
   jz no_mod
   dec edi
   no_mod:
   push lsin
   push offset sin
   push 0
   push edi
   push esi
   push s
   call sendto
   cmp eax, SOCKET_ERROR
   jnge bye_bye
   mov edi, ANSWER_SIZE
   add esi, ANSWER_SIZE
   dec ebx
   cmp ebx, -1
   jg no_mod
   bye_bye:
 end;      

 closesocket(s);
end;


ф-ция sendto - возвращает оочень странное число! но не SOCKET_ERROR! И УДП датаграмма не доходит естест-но. Укажите мастера, что не так. В делфи я не силен, но знаю что с указателями там траблы, но если ы можете сделать данный код без использования асма - то это приветствуется!

Благодарен!


 
Digitman ©   (2005-04-11 08:33) [1]


> знаю что с указателями там траблы


и какие-же, позвольте осведомиться ?



Страницы: 1 вся ветка

Текущий архив: 2005.07.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.045 c
14-1119340150
BiN
2005-06-21 11:49
2005.07.18
Ну заработал, наконец-то


3-1117696945
ike
2005-06-02 11:22
2005.07.18
ADO - Access - Как получить значение сгенеренного ID - counter


1-1120407509
SergP
2005-07-03 20:18
2005.07.18
Проблемы с TThread.


14-1118892226
Магнум
2005-06-16 07:23
2005.07.18
Глеб Павловский


1-1120131813
salexn
2005-06-30 15:43
2005.07.18
Не работает функция SaveKey или что не так делаю?