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

Вниз

UDP socket   Найти похожие ветки 

 
Beerlover   (2003-04-13 20:37) [0]

При приеме ответа из сокета, buf становиться нулевым, в то время как ааа(байт принято)=232. Далее при попытке изменить размер buf происходит сбой...

tv.tv_sec:=1; // таймаут ответа сервера
tv.tv_usec:=0; //
WSAStartup($20,wsa);
serv_addr.sin_family := AF_INET;
serv_addr.sin_port := htons(53);
serv_addr.sin_addr.S_addr := inet_addr(PChar("192.168.16.1"));
sock:=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
if sock<0 then
begin
Messagedlg("Ошибка создания сокета",mtError,[mbOk], 0) ;
WSACleanup( );
exit;
end;

//Создание виртуального канала
error := connect(sock, serv_addr, sizeof(serv_addr));
if error <0 then
begin
Messagedlg("Ошибка подключения",mtError,[mbOk], 0) ;
WSACleanup( );
exit;
end;
setlength(buf, 29);
buf[0]:=#0;
buf[1]:=#1;
buf[2]:=#0;
buf[3]:=#0;
buf[4]:=#0;
buf[5]:=#1;
buf[6]:=#0;
buf[7]:=#0;
buf[8]:=#0;
buf[9]:=#0;
buf[10]:=#0;
buf[11]:=#0;
buf[12]:=#3;
buf[13]:="w";
buf[14]:="w";
buf[15]:="w";
buf[16]:=#4;
buf[17]:="m";
buf[18]:="a";
buf[19]:="i";
buf[20]:="l";
buf[21]:=#2;
buf[22]:="r";
buf[23]:="u";
buf[24]:=#0;
buf[25]:=#0;
buf[26]:=#1;
buf[27]:=#0;
buf[28]:=#1;
error := send(sock, buf[0], length(buf),0);
if error<0 then
begin
exit;
Messagedlg("Ошибка отправки данных",mtError,[mbOk], 0) ;
WSACleanup( );

end;

// Ждем ответа от сервера
FD_ZERO(wfds);
FD_SET(sock,wfds);

select(sock,@wfds,nil,nil,@tv);
if FD_ISSET(sock,wfds) then
begin
FD_CLR(sock,wfds);
setlength(buf, 512);
aaa:=recv(sock, buf, length(buf), 0);
if aaa<0 then Messagedlg("Сбой получения ответа сервера",mtError,[mbOk], 0);

setlength(buf,aaa);
// закрываем сокет
closesocket(sock);
WSACleanup( );
end;


 
erikivaov   (2003-04-14 19:17) [1]

Используй Indy и ненаживеш гемороя.


 
Zz_   (2003-04-14 19:30) [2]

>>error := send(sock, buf[0], length(buf),0);
>>aaa:=recv(sock, buf, length(buf), 0);

может тут тоже надо buf[0] ?



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

Форум: "Сети";
Текущий архив: 2003.06.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.006 c
1-50363
Clipper
2003-06-04 01:32
2003.06.16
Как узнать что запустили приложение.


1-50313
McSimm2
2003-06-03 11:55
2003.06.16
Снова ComboBox


1-50378
MegaVolt
2003-06-03 17:18
2003.06.16
Где можно отключить появление popup меню?


14-50511
Alexei113
2003-05-30 17:49
2003.06.16
Возможна ли установка Ноока на соединение с интернетом


7-50535
tararasyk
2003-04-12 12:01
2003.06.16
Как узнать зарегистрированный ли в системе ActiveX Automation Obj





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский