Ik werk aan een (remoting) applicatie die bij het opstarten een broadcast op het interne netwerk doet (op aanwezige servers die een bepaalde Business Logic beschikbaar stellen) en met een Listener/Receiver class de teruggestuurde UDP pakketten opvangt. Dit gaat prima. De Listener blijft daarna op een aparte thread draaien.
Nu komt het probleem: later moeten vanuit de applicatie nogmaals broadcasts gedaan kunnen worden om de huidige status te inventariseren. Echter wat ik tot nu toe ook geprobeerd heb, deze broadcasts versturen pakketten, maar de listener ontvangt ze niet. Ik begrijp dat ik met Delagates zal moeten werken, en dat dit zeker moet gaan lukken, maar ik krijg de code maar niet kloppend.
Ik start in eerste instantie een listener met
waarbij dus een functie UDPListen bestaat en een equivalente
Deze UDPListen class start een nieuwe thread die de pakketten onderschept en verwerkt.
Nu ben ik het spoor bijster hoe ik de listener in latere instantie opnieuw kan gebruiken. Moet de opzet misschien anders? Het is vast simpeler dan ik nu even zie, maar zit nu even vast (het steeds afsluiten en later weer opstarten van de Listener is ook niet echt een optie, want dan kunnen servers geen contact opnemen met de clients). Hopelijk kan iemand me in de juiste richting pointen....
Nu komt het probleem: later moeten vanuit de applicatie nogmaals broadcasts gedaan kunnen worden om de huidige status te inventariseren. Echter wat ik tot nu toe ook geprobeerd heb, deze broadcasts versturen pakketten, maar de listener ontvangt ze niet. Ik begrijp dat ik met Delagates zal moeten werken, en dat dit zeker moet gaan lukken, maar ik krijg de code maar niet kloppend.
Ik start in eerste instantie een listener met
Visual Basic .NET:
1
| Dim asyncUDPListen As New ClsReceiver.UDPListenDelegate(AddressOf clsRec.UDPListen) |
waarbij dus een functie UDPListen bestaat en een equivalente
Visual Basic .NET:
1
| Delegate Function UDPListenDelegate(ByVal Port As Integer) As Boolean |
Deze UDPListen class start een nieuwe thread die de pakketten onderschept en verwerkt.
Nu ben ik het spoor bijster hoe ik de listener in latere instantie opnieuw kan gebruiken. Moet de opzet misschien anders? Het is vast simpeler dan ik nu even zie, maar zit nu even vast (het steeds afsluiten en later weer opstarten van de Listener is ook niet echt een optie, want dan kunnen servers geen contact opnemen met de clients). Hopelijk kan iemand me in de juiste richting pointen....