Asynchr. socket server met [Visual C#.net]

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • jffr86
  • Registratie: Februari 2009
  • Laatst online: 16-09 10:41
Beste mede tweakers,

Ik ben nog beginnende met c#.net en ik probeer aan de hand van wat voorbeelden te begrijpen hoe dit in zijn werk gaat. Nu wil ik graag het volgende bereiken (waar ik momenteel visual ;

Een socket server die HTTP requests kan ontvangen, parsen en vervolgens Form onderdelen(in een Windows Form application) aansturen.

Hiervoor het voorbeeld gebruikt op deze website

Echter weet ik niet of dit het voorbeeld is waar ik op af moet gaan. Als ik dit gebruik blijft de GUI hangen.

Als ik hem ombouw om de GUI niet vast te laten hangen (na wat Googlen heb ik dit hier gevonden:) Dan start allebei wel goed op, echter kan ik dan niet communiceren met formulier onderdelen aangezien mijn informatie die ik via de sockets binnen krijg in 'static' functies komt te zitten.

Mijn vraag; zit ik op de goede weg? Of moet ik het helemaal anders aanpakken? Ik las ook adviezen over een background worker, maar ik geloof dat dat meer met een langdurige taak te maken heeft waarbij je een progress terug kan krijgen (getal tussen 0 en 100). niet echt wat ik zoek dus.

Kan iemand mij een klein beetje in de goede richting helpen waar ik naar moet kijken?

Alvast vriendelijk bedankt!

Acties:
  • 0 Henk 'm!

  • P-Storm
  • Registratie: September 2006
  • Laatst online: 23:32
Als je een lange tijd bezig bent op een GUI Thread, dan is de Backgroundworker, thread of task een goed idee om erbij te pakken en dat te bestuderen. Let wel op, een Thread mag niet zomaar aanpassingen maken op de GUI, dus dat zal je ook weer terug op de GUI Thread moeten krijgen.

Dat je bij een Background worker een getal op kan geven, betekend niet dat je dit hoeft te gebruiken. Een ander topic waar eigenlijk met langdurige calls gewerkt worden is: C# - Langdurig algoritme. Misschien dat je daar nog wat advies van kan pakken. :)

Acties:
  • 0 Henk 'm!

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 23:29

mulder

ik spuug op het trottoir

Je zou ook http://www.asp.net/signalr kunnen gebruiken, zelf geen ervaring mee maar schijnt ook prima zonder ASP.Net te gebruiken te zijn.

oogjes open, snaveltjes dicht


Acties:
  • 0 Henk 'm!

  • epic007
  • Registratie: Februari 2004
  • Laatst online: 25-08 11:27
Het voorbeeld dat je geeft gebruikt nog de BeginXX EndXX asynchrone patronen, daarvoor is nu het async await patroon voor bedacht, dit maakt het programmeren een stuk makkelijker.

Voorbeeldje: http://blog.tedd.no/2012/07/28/asyncawait-http-server-in-c/

Je zou ook naar Owin kunnen kijken.. Voorbeeld 1 Voorbeeld 2

Wil je vanuit een thread/task met je GUI (Forms) communiceren dan kan moet je eens googelen op BeginInvoke en InvokeRequired.

[ Voor 9% gewijzigd door epic007 op 29-01-2016 22:22 ]