Stig Jøran Skrevet 27. februar 2005 Del Skrevet 27. februar 2005 Har nå prøvd meg litt på winsock. Og fulgte de API og basic winsock tutorialene som lå på denne siden http://www.winsockvb.com/news.php. Faktisk veldig bra tutroials. Men mitt problem er å få to programmer som bruker winsock til å snakke sammen over internet. Det klikker bare når jeg velger en internet ip som remote host. Lenke til kommentar
Jonas Skrevet 27. februar 2005 Del Skrevet 27. februar 2005 Du trenger ikke å skrive noe inn noe RemoteHost. Bruker Connect()-funksjonen! Winsock.Connect <ip>, <port> Lenke til kommentar
Stig Jøran Skrevet 27. februar 2005 Forfatter Del Skrevet 27. februar 2005 I beggen ender? altså må de da trykkes helt samtidig for at det skal funke? Lenke til kommentar
Jonas Skrevet 27. februar 2005 Del Skrevet 27. februar 2005 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
Stig Jøran Skrevet 27. februar 2005 Forfatter Del Skrevet 27. februar 2005 Oki. Takk for hjelpen. Blir nok flere problemer på veien Lenke til kommentar
Stig Jøran Skrevet 27. februar 2005 Forfatter Del Skrevet 27. februar 2005 OK.. Slik ble den kommandoen jeg lagde for å connecte. Winsock1.Connect Text2.Text, Text3.Text Også for å sende data: Winsock1.SendData Text1.Text DoEvents men det funker ikke Lenke til kommentar
Stig Jøran Skrevet 27. februar 2005 Forfatter Del Skrevet 27. februar 2005 Jonas: Du kunne vel ikke lage noen enkle programmer for server og client som jeg kan se på ? Lenke til kommentar
Jonas Skrevet 27. februar 2005 Del Skrevet 27. februar 2005 Joda, her er et lite ett. Har ikke fått testet det, men jeg tror det fungerer! winsock.zip Lenke til kommentar
Stig Jøran Skrevet 27. februar 2005 Forfatter Del Skrevet 27. februar 2005 Takk. Skal eksperimentere litt med det nå. Lenke til kommentar
Stig Jøran Skrevet 27. februar 2005 Forfatter Del Skrevet 27. februar 2005 (endret) 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 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 27. februar 2005 av Stig Jøran Lenke til kommentar
Jonas Skrevet 27. februar 2005 Del Skrevet 27. februar 2005 Å 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 Lenke til kommentar
Stig Jøran Skrevet 27. februar 2005 Forfatter Del Skrevet 27. februar 2005 Å 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. Lenke til kommentar
Jonas Skrevet 27. februar 2005 Del Skrevet 27. februar 2005 (endret) Den kommer fordi du ikke er koblet til når du prøver å sende data. Jeg vet ikke grunnen til det, men eventen 'Winsock_Connect()' blir kalt når du er tilkoblet Endret 27. februar 2005 av Jonas Lenke til kommentar
Stig Jøran Skrevet 27. februar 2005 Forfatter Del Skrevet 27. februar 2005 Den kommer fordi du ikke er koblet til når du prøver å sende data. Jeg vet ikke grunnen til det, men eventen 'Winsock_Connect()' blir kalt når du er tilkoblet Legger med en ny "source", kan du sjekke om du ser noe som er galt? Noe må det være Winsock2.zip Lenke til kommentar
Jonas Skrevet 27. februar 2005 Del Skrevet 27. februar 2005 Hmm, det der så merkelig ut! Du er jo tilkoblet *Rope på aadnk* Han vet alltid råd! Lenke til kommentar
aadnk Skrevet 27. februar 2005 Del Skrevet 27. februar 2005 (endret) 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 27. februar 2005 av aadnk Lenke til kommentar
Stig Jøran Skrevet 27. februar 2005 Forfatter Del Skrevet 27. februar 2005 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! Lenke til kommentar
Stig Jøran Skrevet 27. februar 2005 Forfatter Del Skrevet 27. februar 2005 (endret) Fikk til å sende til meg selv over lan. Men Det funker ikke mellom to maskiner over internet. Får error "40006", når clienten skal sende data. Den får ikke til å connecte, hvorfor? EDIT: Løst. Men en liten ting til. Endret 27. februar 2005 av Stig Jøran Lenke til kommentar
Stig Jøran Skrevet 27. februar 2005 Forfatter Del Skrevet 27. februar 2005 Nå så får jeg til at Client kan sende data til Server, hvordan gjør jeg det slik at Server også kan sende data til Client? Lenke til kommentar
aadnk Skrevet 27. februar 2005 Del Skrevet 27. februar 2005 Å 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå