06/11/09 18:58
Devil_Joker93
Ciao a tutti, sono nuovo del forum, avrei bisogno di un aiuto...
Ho creato una Chat in VB6 tra Client e Server (con la funzione Winsock),tutto funziona alla perfezione, il problema è quando scrivo un primo messaggio appare come dovrebbe al server ma al secondo messaggio che scrivo mi cancella il primo messaggio che ho inviato e al suo posto mi mette il secondo messaggio. Mi piacerebbe che ogni messaggio che scrivo tra Client-Server e Server-Client mi rimanga scritto nella cronologia (se così posso chiamare) Sapete Aiutarmi ?? Perfavore Ditemi tutti i passaggi che devo fare.
Grazie Del Vostro Aiuto
Ciao
By Devil_Joker93
Ecco il codice del Client:
Private Sub Command1_Click()
Dim host As String
Dim porta As String
host = Text1.Text
porta = 666
Winsock1.Close
Winsock1.RemoteHost = host
Winsock1.RemotePort = porta
Winsock1.Connect host, porta
End Sub
Private Sub Command2_Click()
Winsock1.SendData Text4.Text 'Invio dei dati
End Sub
Private Sub Command3_Click()
Winsock1.Close
Label2.Caption = "Non Connesso"
End Sub
Private Sub Form_Load()
End Sub
Private Sub Winsock1_Connect()
Label2.Caption = "Connesso"
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim dati As String
Winsock1.GetData dati
Text3.Text = dati
End Sub
Private Sub Winsock1_Close()
Label2.Caption = “Disconnesso”
End Sub
Private Sub Winsock1_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)
Label2.Caption = "Non riesco a connettermi"
Winsock1.Close
End Sub
_____________
Ecco il codice del Server:
Private Sub Command2_Click()
Winsock1.SendData Text3.Text
End Sub
Private Sub Form_Load()
Winsock1.LocalPort = 666
Winsock1.Listen
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> 0 Then
Winsock1.Close
Winsock1.Accept requestID
End If
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim dati As String
Winsock1.GetData dati
Text2.Text = dati
End Sub
Private Sub Winsock1_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)
Winsock1.Close
Winsock1.Listen
End Sub
Ho creato una Chat in VB6 tra Client e Server (con la funzione Winsock),tutto funziona alla perfezione, il problema è quando scrivo un primo messaggio appare come dovrebbe al server ma al secondo messaggio che scrivo mi cancella il primo messaggio che ho inviato e al suo posto mi mette il secondo messaggio. Mi piacerebbe che ogni messaggio che scrivo tra Client-Server e Server-Client mi rimanga scritto nella cronologia (se così posso chiamare) Sapete Aiutarmi ?? Perfavore Ditemi tutti i passaggi che devo fare.
Grazie Del Vostro Aiuto
Ciao
By Devil_Joker93
Ecco il codice del Client:
Private Sub Command1_Click()
Dim host As String
Dim porta As String
host = Text1.Text
porta = 666
Winsock1.Close
Winsock1.RemoteHost = host
Winsock1.RemotePort = porta
Winsock1.Connect host, porta
End Sub
Private Sub Command2_Click()
Winsock1.SendData Text4.Text 'Invio dei dati
End Sub
Private Sub Command3_Click()
Winsock1.Close
Label2.Caption = "Non Connesso"
End Sub
Private Sub Form_Load()
End Sub
Private Sub Winsock1_Connect()
Label2.Caption = "Connesso"
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim dati As String
Winsock1.GetData dati
Text3.Text = dati
End Sub
Private Sub Winsock1_Close()
Label2.Caption = “Disconnesso”
End Sub
Private Sub Winsock1_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)
Label2.Caption = "Non riesco a connettermi"
Winsock1.Close
End Sub
_____________
Ecco il codice del Server:
Private Sub Command2_Click()
Winsock1.SendData Text3.Text
End Sub
Private Sub Form_Load()
Winsock1.LocalPort = 666
Winsock1.Listen
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> 0 Then
Winsock1.Close
Winsock1.Accept requestID
End If
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim dati As String
Winsock1.GetData dati
Text2.Text = dati
End Sub
Private Sub Winsock1_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)
Winsock1.Close
Winsock1.Listen
End Sub
aaa