Jakie zdarzenie w komponencie WSocket odbiera dane?

0

Witam.
W TsocketServer bylo takie zdarzenie OnClientRead
A w WSocket nie mam takiego zdarzenia, ale nie wiem ktore z nich odbiera dane
i tak samo jak w TClientSOcket czy ServerSocket bylo: .active:=True czy False
To w WSocket mam WSocket.Connect; ale nie wiem znowu jak rozlaczyc to.
nie ma disconnect ani false ? komponenty sa z pakietu OverByte.
Moze ktos z Was mial z tym do czyneinia ?

0

Niech zgadnę? Miałeś problem z pakietem Indy?

0

pakietu indy nie probowalem jeszcze ale dobry pomysl. po prostu musze miec
cos z socketem co ma funkcje PEEKDATA czy DATAPEEK
edit: ale widze ze indy tcp tez nie ma

Mam problem jak mam socket zwykly i wysylam zeby odebrac dane pierwsze 4 Bajty
to w odpowiedzi odbieram ten pakiet pierwsze 4 bajty a za chwile dostaje 20 innych danych
jakies smieci itd do tego bufora. bo po obrobce pierwszego pakietu mam wielkosc jaka przyjdzie w kolejnym calym pakiecie
np I = 64 bajty
skoro I odebralem a zajomwalo 4 bajty to wiem ze kolejny pakiet caly ma miec wielkosc 60 bajtow
i chcialem odebrac te 60 a jak bedzie juz cale 60 to wyslac do kolejki do obrobki pakietu. ale jak prosze o pakiet
pierwszy z wielkoscia pozostalego pakietu to mam w pierwszym odczycie OK a nizej, 20 innych odczytow z wielkosciami z kosmosu w stylu
2231234 albo 12039384

0

Na "oko" to wydaje mi się że coś źle ustawiasz i dlatego dostajesz śmieci których się nie spodziewasz.
Masz kilka wyjśc z tej sytuacji. Jak chcesz dalej grzebać w tym bagnie to zaopatrz się w jakiegoś najprostszego snifera, to zobaczysz co jest faktycznie przesyłane i dojdziesz do tego co robisz nie tak.
Co do indy (ver.9) jest tam wszystko czego potrzebuje, a nawet więcej. Moja podpowiedź co do programowania w indy jest taka że wywal wszystkie tutoriale i dema o indy jake znajdziesz/dostaniesz. One tylko wprowadzają zamęt.
Poszukaj metodą googlova źródła trojana który korzysta z indy. Jest tam wzorowo pokazane jak programować soft w architekturze klient-serwer z indy. Pokazane jest też jak jednocześnie wysyłać i odbierać dane (bez rozłączania się).
Dopuki nie znalazłem tych źródeł to miałem problemy z indy. A to komunikaty w stylu "Socket Error #10054", a to śmieci na wejściu/śmieci na wyjściu.
Nawet zacząłem coś robić na socketach i zaczęło mi to wychodzić ale wtedy przypadkiem natknąłem się na te źródełko trojana z wykorzystaniem indy. Teraz nie mam poroblemu z programowaniem z indy.
Hasła które wpisywałem do googla to były fragmenty kodu np. IdTCPClient + AThread albo IdTCPServer + Writeln, IdTCPServerExecute +AThread.Connection lub inne kombinacje słów związane z indy. Tylko w taki sposób znajdziesz opublikowany gdzieś kod źródłowy.
Good luck

1 użytkowników online, w tym zalogowanych: 0, gości: 1