Avatar billede shadowdance Nybegynder
07. juni 2002 - 03:57 Der er 5 kommentarer og
1 løsning

Winsock Control i VB

Jeg har lavet et lille Communicator-program, der kan oprette forbindelse til et andet Communicator-program (magen til, altså både client og server). Når der ikke er bedt om forbindelse, står programmet og lytter.

Både remoteport og localport defineres via textboxes.

Programmet opretter fint forbindelse, og beholder den så længe det skal være. Når jeg så laver en disconnect, og efterfølgende en connect igen (uden at ændre parametre), sender den error-message "Address in use".

Dette til trods for, at jeg har lavet et stykke kode der får den til at træde ned fra State "Peer closing" til "Listening" igen.

Hvis jeg går ind på den anden maskine og opretter forbindelse til den første, går det i orden igen. Altså skal computerne skiftes til at oprette forbindelse, hvis man vil beholde portnumrene.

Hvordan kan det være?
Avatar billede dk_akj Nybegynder
07. juni 2002 - 07:15 #1
Man får fejlen "address in use" hvis man prøver at åbne en port der allerede er åben.


Du skal checke at du kun sætter portene én gang.

f.eks på Form load:
Comm1.SetTcpInPort (1004)
Comm1.SetTcpOutPort (1003)

//akj
Avatar billede shadowdance Nybegynder
07. juni 2002 - 13:03 #2
Jeg har lavet en Initialize Ports command button, og den bruger jeg kun en gang. Jeg kører de to ens programmer med modsatte local/remote ports. Den ene kører local 270 og remote 260, og den anden gør det modsatte.

Men portene bliver kun initialiseret én gang under mine tests.

Du skriver iøvrigt en helt anden syntaks. Syntaksen er:

Winsock1.LocalPort=1004
Winsock1.RemotePort=1003

Snakker vi om samme control-type?
Avatar billede simon_jacobsen Nybegynder
08. juni 2002 - 23:30 #3
har samme problem :( aner ikke hvad det er men deet er mega irriterende...
Jeg er meget spændt på at høre om der er nogen der har en løsning.
Avatar billede dk_akj Nybegynder
10. juni 2002 - 07:08 #4
Ja det er samme kontrol. Jeg har lige kigget min kode igennem. Jeg har lavet et par funktioner til at sætte portnumrene. Derfor den fejlagtige syntax.

Et andet tidspunkt I kan være ude for at få fejlen er hvis man prøver at sende noget på en port der har status "connecting" eller "connected"

//akj
Avatar billede shadowdance Nybegynder
21. juni 2002 - 18:27 #5
Som sagt sørger jeg for at reinitialisere portene hver gang. De er altid "closed" eller "listening"...
Avatar billede shadowdance Nybegynder
07. januar 2004 - 21:39 #6
Hmmm...lukker spg.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester