Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Получение данных !!! [D6, Win2k]


Sils ©   (2003-03-17 14:05:00) 

Почему не приходят данные ?
var
wsa:twsadata;
sock:tsocket;
x:integer;
adr,cln:sockaddr_in;
dt:integer;
client:TSockAddrIn;
----------------------------------------------
wsastartup($101,wsa);
sock:=socket(af_inet,SOCK_stream,IPPROTO_ip);
adr.sin_family:=af_inet;
adr.sin_port:=htons(4004);
adr.sin_addr.S_addr:=htonl(INADDR_ANY);
bind(sock,adr,sizeof(adr));
listen(sock,1);
dt:=sizeof(client);
accept(sock,@client,@dt);


затем в цикле читаю

procedure datatrans;
var
i,data:integer;
c:integer;
bf:array[0..32] of char;
buf:string;
begin
while true do
begin
bf:=#0;
recv(sock,bf[1],sizeof(bf),0);
end;
end;

Так вот bf никогда ничего не содержит ??? !!!!


Sils   (2003-03-19 15:21:00) [1]

СПАСИБО !!!!


Digitman   (2003-03-18 12:58:00) [2]

а говоришь - понял)

тот хэндл , что возвращает ф-ция accept(), и следует как раз использовать во всех вызовах транспортных ф-ций (send(), recv() и пр.) ... а не тот , что у тебя в sock лежит - это хэндл "слушающего" гнезда


Sils   (2003-03-18 12:47:00) [3]

если нет ошибок, функция возвращает значение типа сокет ...

а вот дальше я немного не понял :-)


Digitman   (2003-03-18 12:44:00) [4]


> Sils


Изучил, говоришь ?)

Ну давай тогда докладай свое видение фразы :

If no error occurs, accept returns a value of type SOCKET which is a descriptor for the accepted socket


Sils   (2003-03-18 12:32:00) [5]

Изучил....
Но ошибки не нашел !!! Помогите плз...


Digitman   (2003-03-17 14:11:00) [6]

не оттуда читаешь !

внимательно изучи описание ф-ции accept() ! Именно - функции !!!


Наверх

Титульная страница Поиск, карта сайта Написать письмо