Gå til innhold

Anbefalte innlegg

Private Sub cmdConnect_Click()

Dim txtIP

 

txtIP.Text = ""

 

Winsock.RemoteHost = txtIP

 

Winsock.RemotePort = 10101

 

Winsock.LocalPort = 10101

 

Winsock.Connect

 

Winsock.Listen

End Sub

 

Får en masse forskjellige erors på den Dim txtIP og Winsock.RemoteHost,

erorren går på at jeg ikke har definert txtIP og sånt som det??

 

Noen som vil fortelle meg hva jeg gjør feil??

 

Takker på forhånd for alle smarte svar.

Lenke til kommentar
Videoannonse
Annonse

Når du skal dimme en ting må du også si hva den skal dimme. Eller du kunne ha byttet ut variablen med txtIP.Text

Private Sub cmdConnect_Click()
Dim txtIP 

txtIP.Text = txtIP

Winsock.RemoteHost = txtIP

Winsock.RemotePort = 10101

Winsock.LocalPort = 10101

Winsock.Connect

Winsock.Listen
End Sub

eller

Private Sub cmdConnect_Click()
Winsock.RemoteHost = txtIP.Text

Winsock.RemotePort = 10101

Winsock.LocalPort = 10101

Winsock.Connect

Winsock.Listen
End Sub

 

EDIT: Jeg tror ikke localhost eller listen trengs

Endret av Jonas
Lenke til kommentar

Hvilken protokoll er det egentlig du bruker?

Er det TCP eller UDP?

(For meg ser dette ut som en blanding mellom begge...)

Hvis jeg vet hvilken du skal bruker er det litt lettere å svare. Hva skal programmet foresten brukes til? Chat-program?

Lenke til kommentar
Det er sånn at tcp er på internett og udp på lan? Kan jeg bruke winsock til å lage lan chat?

nei og ja.

 

tcp og udp er både for internett og lan. forskjellen er grovt at tcp/ip krever en tilkobling, mens udp ikke gjør det. Du kan bruke begge protokollene til å lage LAN chat ved hjelp av winsock.

Lenke til kommentar

Jonas --> jeg fikk variabel not defined på den øverste, har testa med den. Den nederste ga meg den samme erroren...

 

 

Angående det Tcp og udp greiene så vet jeg faktisk ikke helt, beggynte i går med at jeg fulgte den p2p chat tutorialen på denne siden:

http://www.winsockvb.com/index.php?cat_id=3

 

Jeg synnes det programmet du lager med den tutorialen er litt balvent siden en må vente med et program og ha et annet til å connecte, samt du kan ikke skrive no ip du vil connecte til dette må du gjøre inn koden.

Som sagt bakvendt.

 

Her er resten av koden(min)

 

Option Explicit

 

Private Sub cmdConnect_Click()

Dim txtIP

 

Winsock.RemoteHost = txtIP.Text

 

Winsock.RemotePort = 10101

 

Winsock.LocalPort = 10101

 

Winsock.Connect

 

Winsock.Listen

End Sub

 

 

 

Private Sub cmdSend_Click()

 

' send the data thats in the text box and

 

' clear it to prepare for the next chat message

 

Winsock.SendData txtChat.Text

 

DoEvents

 

txtMain.Text = txtMain.Text & vbCrLf & txtChat.Text

 

txtChat.Text = ""

 

End Sub

 

Private Sub Winsock_ConnectionRequest(ByVal RequestID As Long)

 

' reset the socket, and accept the new connection

 

Winsock.Close

 

Winsock.Accept RequestID

 

End Sub

 

 

Private Sub Winsock_Connect()

 

' we are connected!

 

MsgBox "Connected"

 

End Sub

 

 

 

Private Sub Winsock_DataArrival(ByVal bytesTotal As Long)

 

Dim strData As String

 

' get the data from the socket

 

Winsock.GetData strData

 

' display it in the textbox

 

txtMain.Text = txtMain.Text & vbCrLf & strData

 

' scroll the box down

 

txtMain.SelStart = Len(txtMain.Text)

 

End Sub

Lenke til kommentar

Meiningen er å fikse på alle disse ekkle tingene, så jeg prøver å mekke et program som kan connecte og hoste(bør jeg gi brukeren muligheten til å velge dette i starten?) og jeg vil gjerne fikse det med at jeg må gå inn i koden for å endre ipen jeg til han/hun jeg vil snakke med.

Lenke til kommentar

Siden du ikke vil ha en server og en klient (an som venter og en som kobler til den som venter) fåreslår jeg at du bruker UDP:

 

 

Sleng dette inn i prosjektet ditt:

 

 

Private Sub Command1_Click()
   Winsock1.Close
   Winsock1.Protocol = sckUDPProtocol 'setter protokollen til UDP
   Winsock1.LocalPort = 9199
   Winsock1.RemotePort = 9199
   Winsock1.RemoteHost = txtRemoteNavn.Text 'Navn på en maskin på nettverket ditt som kjører programmet
End Sub

Private Sub Command2_Click()
   Winsock1.SendData "test" 'Sender tekst
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim mottatt As String

Winsock1.GetData mottatt 'mottar meldingen

MsgBox (mottatt) 'viser den i en msgbox
End Sub

 

Legg inn 2 knapper(command1 og command2) og 1 textbox(Navn: txtRemoteNavn) og en winsock(WinSock1)

 

Programmet kjører du på 2 pcer som er i nettverk. Og kobler til(Command1). Begge må være koblet til før du trykker på Command2(sende tekst knappen).

 

 

Noe uklart? bare å spørre...

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