Dumbo Skrevet 14. oktober 2002 Del Skrevet 14. oktober 2002 Jeg prøver å lage et enkelt chatte program, bare for å lære litt om winsock. Men jeg sliter litt. Jeg skal sende litt tekst, men får bare sendt tekst en gang. Deretter får jeg bare error. Har laget ett "delprogramm" for å teste ut hovedprogrammet. Her er koden: Code: 'HovedprogramPrivate Sub Command1_Click() Winsock.Close Winsock.RemoteHost = Text2.Text Winsock.RemotePort = 10101 Winsock.Connect End SubPrivate Sub Form_Load() txtoutput.Enabled = False txtsendtxt.Enabled = False cmdSend.Enabled = False Text2.TabIndex = 0 Label1.BackColor = &HFF& Label2.Caption = "Not Connected" ' Winsock code Winsock.LocalPort = 10101 Winsock.ListenEnd SubPrivate Sub Winsock_Close() txtoutput.Enabled = False txtsendtxt.Enabled = False cmdSend.Enabled = False Text2.SetFocus Text2.Locked = False Label1.BackColor = &HFF& Label2.Caption = "Not Connected"End SubPrivate Sub Winsock_Connect() Label1.BackColor = &HFF00& Label2.Caption = "Connected" txtoutput.Enabled = True txtsendtxt.Enabled = True Text2.Locked = TrueEnd SubPrivate Sub Winsock_ConnectionRequest(ByVal RequestID As Long) Winsock.Close Winsock.Accept RequestID Label1.BackColor = &HFF00& Label2.Caption = "Connected" txtoutput.Enabled = True txtsendtxt.Enabled = True Text2.Locked = True cmdSend.Enabled = TrueEnd SubPrivate Sub Winsock_DataArrival(ByVal bytesTotal As Long) Dim tEmp As String Dim newData As String tEmp = txtoutput.Text Winsock.GetData newData txtoutput.Text = tEmp & vbCrLf & newData Winsock.CloseEnd SubPrivate Sub Winsock_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean) MsgBox "Error:" & vbCrLf & vbCrLf & Description, vbCritical, "ChtR - Error"End Sub Og hjelpeprogrammet: Code: Private Sub cmdConnect_Click() Winsock.RemoteHost = "127.0.0.1" Winsock.RemotePort = 10101 Winsock.ConnectEnd SubPrivate Sub Command1_Click() Winsock.SendData ("test") DoEvents Winsock.CloseEnd SubPrivate Sub Winsock_Connect() MsgBox "Connected"End SubPrivate Sub Winsock_Error(ByVal Number As Integer, Description As String, _ ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, _ ByVal HelpContext As Long, CancelDisplay As Boolean) MsgBox "Error: " & vbCrLf & Description, vbCriticalEnd Sub Hva er galt, hva skal jeg endre på for å få det til å virke ? Erroren jeg får er : Runtime error '40006': Wrong protocol or connection state for the requested transaction or request Edit: måtte fikse litt slik at det ikke ødela designet til hw.no [ Denne Melding var redigert av: Dumbo på 2002-10-14 22:27 ] Lenke til kommentar
MagneH Skrevet 15. oktober 2002 Del Skrevet 15. oktober 2002 Fjern følgende fra Command1_Click: DoEvents Winsock.Close Fjern følgende fra Winsock_DataArrival: Winsock.Close Kanskje det hjelper? Lenke til kommentar
Dumbo Skrevet 15. oktober 2002 Forfatter Del Skrevet 15. oktober 2002 Takk for hjelpen.. Akkurat det som skulle til for at det skulle virke.. Lenke til kommentar
abcd423417984 Skrevet 16. oktober 2002 Del Skrevet 16. oktober 2002 i tillegg burde du legge til en rutine for å sjekke og du er tilkoblet før du prøver å sende noe. bytt ut winsock.senddata X med: if winsock.state = 7 then winsock.senddata X end if state 7 betyr at du er tilkoblet serveren som client (hvis det er på serversiden trenger du en annen state, men husker den ikke i hodet). Lenke til kommentar
Dumbo Skrevet 16. oktober 2002 Forfatter Del Skrevet 16. oktober 2002 Når den ikke er connected, er ikke send knappen enablet, så man kan ikke sende meldinger. 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å