Witam,

Pisze cos w rodzaju serwera proxy, ale takiego, ktory dodatkowo analizuje przesylane dane (cos jak sniffer)
Problem jest taki, ze wykorzystujac standardowe komponenty wymienione w temacie, pojawiaja sie dosc dziwne bledy... (aplikacja nadal dziala) podejrzewam, ze moze to miec zwiazek z synchronizacja watkow obu komponentow.

Server w onClientRead, analizuje odebrany pakiet, a nastepnie wywoluje Client.socket.sendBuf();
Client w onRead, rowniez analizuje odebrany pakiet, a nastepnie wywoluje Server.socket.connection[0].sendBuf();

Analiza pakietow nie powoduje zadnych bledow, poniewaz po jej wylaczeniu bledy w transmisji nadal sie pojawiaja.

Probowalem uzyc komponentu z pakietu indy IdMappedPortTCP i na tym komponencie nie ma zadnych problemow jednak problemem (przynajmniej dla mnie) oakazalo sie przechwycenie pakietow ktore obslugiwane sa przez ten komponent.

Na standardowych komponentach probowalem wykorzystac takie procedury jak Socket.lock; i Socket.Unlock;
niestety nic to nie dalo, moze uzywalem tego nie tam gdzie trzeba, ale prosilbym kogos o jakas podpowiedz co moze byc nie tak, albo w jakim kierunku isc, moze zmiana komponentow na komponenty z pakietu indy?

Najbardziej jednak odpowiadaloby mi, aby jakos poprawic kod na standardowych komponentach.
Jeżeli ktos ma jakis pomysl, lub mial podobny problem, bede bardzo wdzieczny za kazda pomoc :)

Problemy w transmisji pojawiaja sie glownie w momencie wiekszej ilosci danych ktore maja zostac przeslane...

jeszcze jedna mozliwe ze wazna kwestia... moze sie zdarzyc sytuacja w ktorej jednoczesnie server bedzie odbieral dane i wywolywal client.socket.sendBuf(); oraz ze w tej samej chwili Client otrzyma jakies dane i wywola Server.Connections[0].socket.sendBuf(); Wydaje mi sie ze to jednak powinno byc jakos automatycznie blokowane i nie powinno to powodowac problemow w transmisji, jednak jezeli trzeba gdzies cos lockowac to prosilbym o wskazowki.