Cześć,
mam problem z moja aplikacja Klient-Serwer opartej na socketach. Kiedy wysylam pojedyncze informacje wszystko jest ok. Problem pojawia sie kiedy chce wyslac z serwera do klienta kilka socketow w petli. Pojawia mi sie error zwiazany z synchronizacja pakietow. Zakladam, ze spowodowane jest to przez to, ze klient nie zdazy obsluzyc jednego socketu a juz dostaje kolejny.
for i:=0 to liczba_wierszy do
begin
send(Klient, wiersz[i], SizeOf(wiersz[i]), 0);
end;
Pominmy fakt poprawnosci kodu powyzej (pisalem na szybko;) ), chodzi o to zeby pokazac Wam jak wysylam dane. Mozna uzyc sleep ale nie zawsze bedzie to potrzebne no i na pewno spowolni program...
Czy istnieje jakies gotowe rozwiazanie tego problemu? Chcialbym uniknac koniecznosci potwierdzania odbioru pakietow przez klienta przed wyslaniem przez serwer kolejnego.
Jest mozliwosc np zbierania tych socketow do jakiegos buffora czy kolejki (w taki sposob aby program nie wyrzucal bledu synchronizacji) i obslugiwanie ich po kolei?
pozdrawiam!