Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.044 c
1-1119671688
Starcom
2005-06-25 07:54
2005.07.18
ProgressBar как к нему привязать выполнение ... процесса?


14-1119531872
kaif
2005-06-23 17:04
2005.07.18
Голосование: кто порождает СПАМ, заказчики или рассыльщики?


3-1117880359
java73
2005-06-04 14:19
2005.07.18
Отображение русских симоволов из mysql


4-1116942710
Aleksandr.
2005-05-24 17:51
2005.07.18
Будет ли работать PostMessage из dll?


14-1119952514
CatAndCAt
2005-06-28 13:55
2005.07.18
Издатели ПО





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский