Форум: "Сети";
Текущий архив: 2003.05.15;
Скачать: [xml.tar.bz2];
ВнизПолучение данных !!! Найти похожие ветки
← →
Sils (2003-03-17 14:05) [0]Почему не приходят данные ?
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 никогда ничего не содержит ??? !!!!
← →
Digitman (2003-03-17 14:11) [1]не оттуда читаешь !
внимательно изучи описание ф-ции accept() ! Именно - функции !!!
← →
Sils (2003-03-18 12:32) [2]Изучил....
Но ошибки не нашел !!! Помогите плз...
← →
Digitman (2003-03-18 12:44) [3]
> 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:47) [4]если нет ошибок, функция возвращает значение типа сокет ...
а вот дальше я немного не понял :-)
← →
Digitman (2003-03-18 12:58) [5]а говоришь - понял)
тот хэндл , что возвращает ф-ция accept(), и следует как раз использовать во всех вызовах транспортных ф-ций (send(), recv() и пр.) ... а не тот , что у тебя в sock лежит - это хэндл "слушающего" гнезда
← →
Sils (2003-03-19 15:21) [6]СПАСИБО !!!!
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2003.05.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c