Gå til innhold

Anbefalte innlegg

Har prøvd å søke etter dette fra fatterns isdn her heime men eg finner ikkje fram (går så jævla treigt :cry:)

 

Det eg er på jakt etter er å finne ut om ein port er ledig eller ikkje. Eg bruker winsock kontrollen til å koble sammen to programmer som er identiske (med ein server i mellom).

 

Regner med at eg må trå til med API denne gangen også? :wee:

Lenke til kommentar
Videoannonse
Annonse

Du trenger ikke nødvendigvis bruke API for å sjekke dette. Winsock skaper en feilmelding når den prøver å koble seg til en server med en port som allerede er i bruk. Se på dette eksempelet:

 

On Error GoTo Feil

Winsock1.LocalPort = 21
Winsock1.Connect "home.online.no", 21

Exit Sub
Feil:

If Err = 10048 Then
   MsgBox "Error: Port 21 is already in use", vbCritical, "Winsock error"
End If

 

Problemet kan unngås ved å ikke skrive noe i LocalPort, og la denne være tom. Da vil Winsock automatisk lete etter en ledig lokal port, og bruke denne.

 

For mer informasjon om emne, se denne siden.

Endret av aadnk
Lenke til kommentar
Problemet kan unngås ved å ikke skrive noe i LocalPort, og la denne være tom. Da vil Winsock automatisk lete etter en ledig lokal port, og bruke denne.

Det veit eg... men problemet er at eg allerede har ein socket som bruker porten fra før (Listen). Så eg tenkte at for at klienten skal kunne koble til ein anna klient så må den koble via serveren slik:

1. Klient1: Server, eg vil koble til Klient2

2. Server: Okidoki, eg må berre finne ut ka port du kan bruke...

3. Server: Klient2, det er ein som vil koble seg til deg... kan du fortelle meg ka port han skal bruke?

4. Klient2: Du kan bruke port 42420...

5. Server: Klient1, du kan bruke port 42420

6. Klient1: Flott! *kobler seg til klient2 via port 42420*

 

Derfor må eg finne ut korleis eg kan finne ut ka port klienten kan bruke (punkt 4). Er også klar over at eg kan sende alle meldingane via serveren i mellom, men eg vil at klientene skal kunne gjere dette sjølv.

 

Edit: Skal teste ut om eg kan bruke "prøve og feile metoden" ved å bruke winsock til å koble til med forskjellige porter.

Endret av Atmozpheric
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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...