Ik ben bezig met een programma waarbij gegevens via het internet of over een netwerk verstuurd moeten worden. Nou heb ik een class Client. Op die class heb ik een methode geschreven die de directory veranderd op de server. Deze methode zou een boolean waarde moeten teruggeven, die aangeeft of de operatie gelukt is of niet (bijvoorbeeld als de directory niet bestaat op de server). Het eerste wat ik doe in deze methode is het commando versturen. Vervolgens zou ik dan moeten wachten op een antwoord van de server. En daar zit het probleem.
Ik zou namelijk met een simpele while de property DataAvailable van de NetworkStream in de gaten kunnen houden. Daarbij heb ik echter een probleem op het moment dat de binnenkomende data niet bestemd is voor de betreffende methode, maar voor een andere methode bijvoorbeeld (als reply op een andere actie). Wat ik dus eigenlijk wou doen is de binnenkomende data vanuit een andere thread in de gaten houden, inlezen, en dan op basis van die data een event aanroepen, zodat de methode die wacht op antwoord verder kan gaan. De vraag is echter, hoe kan ik dit implementeren. Ik heb gekeken naar het gebruik van delegates, maar volgens mij kan ik daarmee niet bereiken wat ik wil bereiken.
Iemand met ideeën hierover?
Ik zou namelijk met een simpele while de property DataAvailable van de NetworkStream in de gaten kunnen houden. Daarbij heb ik echter een probleem op het moment dat de binnenkomende data niet bestemd is voor de betreffende methode, maar voor een andere methode bijvoorbeeld (als reply op een andere actie). Wat ik dus eigenlijk wou doen is de binnenkomende data vanuit een andere thread in de gaten houden, inlezen, en dan op basis van die data een event aanroepen, zodat de methode die wacht op antwoord verder kan gaan. De vraag is echter, hoe kan ik dit implementeren. Ik heb gekeken naar het gebruik van delegates, maar volgens mij kan ik daarmee niet bereiken wat ik wil bereiken.
Iemand met ideeën hierover?