Hej!
Pisze serwer TCP w Lazarusie za pomoca komponentow iNet. Dla kazdego nowo podlaczonego klienta tworzony jest osobny watek i w petli staram sie pobrac wiadomosc i ja wyswietlic
aSocket.GetMessage(wiadomosc);
writeLn(wiadomosc);
Problem w tym, ze przez dlugi czas moze nie nadchodzic zadna wiadomosc a chodzaca petla i watek obciazaja caly czas procesor. Czy jest mozliwosc stworzenia czegos na ksztalt eventow czy zdarzen? Tak aby procedura wyswietlajaca tekst odpalala sie dopiero w momencie nadejscia nowej wiadomosci?
Znalazlem cos takiego:
aSocket.OnRead
ale nie mam pojecia jak to ugryzc. Przykladow tez za wiele w google nie znalazlem. Probowalem przypisywac tam jakies procedury ale wolalo mi bledem:
<procedure variable type of procedure (TLSocket)> expected <procedure variable type of procedure (TLHandle) of object.
Moglby mi ktos pomoc albo chociaz naprowadzic na rozwiazanie czy da sie zrobic cos takiego? Czy jednak pozostaje 'czytanie' aSocket w petli i czekanie az wiadomosc bedzie >0?
pozdrawiam!