Gå til innhold

vb 6.0 og winsock spørsmål.


Anbefalte innlegg

Videoannonse
Annonse

Nei, det er ikke slik det fungerer. Det finnes klienter og en server.

 

Klienten skal koble til en server med Connect().

 

Serveren "hoster" med med to linjer:

tcpServer.LocalPort = 1337
tcpServer.Listen

 

Hvis du skal ha mer enn 1-mot-1-chat, så blir ting litt annerledes, men det er ikke nødvendig å skrive om enda.

Lenke til kommentar

Hmm. Skal det ikke også funke med å sette ip som 127.0.0.1 eller min lan ip. For å teste?

 

Får feilmelding med både det du lagde, og det jeg laget nettop.

Legger med det jeg laget.

 

EDIT: Fant feilen tok feil av to tekstbokser :blush:

 

Men så er det pån igjen med ny feil. Når jeg for kobla til og får svaret "Connected"

Altså allt funker hittil, feilen kommer når jeg skal sende noe, denne koden bruker jeg på sende knappen:

 

Kode:

Winsock1.SendData "Testing 1 2 3"

 

Noe feil i den eller?

Kan det ha noe med at jeg kjører det i lan, altså den sender til "127.0.0.1"?

Winsock.zip

Endret av Stig Jøran
Lenke til kommentar
Å kjøre programmet to ganger på en maskin vil nok ikke funke,

 

Uansett, hvordan feil er det? Feilmelding? Hvordan feilmelding? På hvilken linje? Mye lettere å hjelpe hvis du sier det ;)

Koden som feiler:

 

Private Sub Command2_Click()

' Da skal data sendes.

Winsock1.SendData "Testing 1 2 3"

End Sub

 

 

Feilmelding ligger som vedlegg.

post-32-1109531999_thumb.jpg

Lenke til kommentar

Ahh... jeg gjorde en gigantisk flause når jeg skulle angi host-navnet klienten skulle koble seg til - jeg benyttet funksjonen Val(). Det skulle jeg opplagt ikke ha gjort, ettersom det fikk strengen omgjort til noe helt annet enn "127.0.0.1", nemlig tallet 127.

 

Men hva problemet angår, ligger det i at serveren mangler følgende kode:

 

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)

   Winsock1.Close
   Winsock1.Accept requestID

End Sub

 

Uten denne koden vil den ikke akseptere en ny tilkobling.

Endret av aadnk
Lenke til kommentar
Ahh... jeg gjorde en gigantisk flause når jeg skulle angi host-navnet klienten skulle koble seg til - jeg benyttet funksjonen Val(). Det skulle jeg opplagt ikke ha gjort, ettersom det fikk strengen omgjort til noe helt annet enn "127.0.0.1", nemlig tallet 127.

 

Men hva problemet angår, ligger det i at serveren mangler følgende kode:

 

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)

   Winsock1.Close
   Winsock1.Accept requestID

End Sub

 

Uten denne koden vil den ikke akseptere en ny tilkobling.

Tusen Takk! :D:thumbup:

Lenke til kommentar

Å sende data tilbake igjen krever svært liten endring i selve koden; alt som trengs er å legge til følgende hos klienten:

 

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

   Dim sData As String
   
   Winsock1.GetData sData
   
   MsgBox sData

End Sub

 

Når dette er gjort, kan du sende data fra serveren og til klienten, eksempelvis som dette:

 

Winsock1.SendData "hallo"

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...