Gå til innhold

Asynchronous Socket tilkobling


Anbefalte innlegg

Heisan godtfolk

 

Jeg har nå i en lengre tid prøvd å få til en nett forbindelse mellom en server og flere klienter. Jeg har prøvd en del eksempler rundt om kring. Noen som sier jeg skal opprette egne tgråder, noen sier jeg skal benytte BeginAccept o.s.v.

 

Jeg bli bare svimmel av dette her.

 

I MSDN står det helt klart eksempler på både synkrone og asynkrone klient/tjener programmer, men ingen av dem hverken kompillerer eller virker så langt jeg kan se. Jeg har også fått en del tips tidligere i dette forumet på andre eksempler, men de er laget i VB2003 og går ikke i VB2005

 

Er det noen som har laget noe av dette i det hele tatt her? Eller i det hele tatt fått til en Client/tjener programvare der tjener ikke fryser mens den venter på tilkobling?

 

Så vidt jeg har forstått så må man opprette en egen tråd for at programmet ikke skal fryse, og det har jeg forståelse for - for da er det jo bare tråden i seg selv som avventer tilkobling. Men MSDN hevder jo helt klart at BeginAccept skal håndtere dette. Tross dette så opplever jeg lockup når jeg tester eksemplene i MSDN.

 

Jeg hadde satt umåtelig stor pris på om noen kunne vise meg et program/link til program der dette faktisk både kompilerer og virker i VB2005

 

MVH Ole

Lenke til kommentar
Videoannonse
Annonse

 

Joda, har sett her og

 

Men jeg tror jeg har funnet hva, eller rettere sagt hvor missforståelsen min er. Jeg har hele tiden trodd at en asynchronous socket kunne gå i bakgrunnen av seg selv og det er nok her problemet ligger. Det er hele tiden blitt sagt at en Asynchronous socket connection ikke stopper programmet, fordi den angivelig ikke kobler seg på GUI thread. Dette er nok en esannhet med visse modifikasjoner fordi programkoden alikevel må "vente" til den får en tilkobling. Dermed er det jo ikke rare forskjellen her på synkron og asynkron.

 

Løsningen derimot ligger i å legge hele trafikken på en egen tråd. Dermed kan den vente så mye den bare vil.

 

Ole

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...