Oppure

Loading
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


aaa
06/11/09 19:06
LittleHacker
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim dati As String
Winsock1.GetData dati
Text3.Text = dati
End Sub 



Text3.Text = dati

Ecco perchè ogni volta si cancella, devi aggiungere il testo e non sovrascriverlo...
Per aggiungere testo fai così:
Text3.Text = text3.text & dati

Se poi vuoi che vada a capo ogni volta che ricevi un nuovo messaggio allora:
Text3.Text = text3.text & vbcrlf & dati

:k:
Ultima modifica effettuata da LittleHacker 06/11/09 19:08
aaa
06/11/09 19:21
Devil_Joker93
Grazie LittleHacker94 !!!

Ti ho aggiunto su MSN, se ho ancora bisogno di aiuto ti contatterò...

Grazie Ancora

:k:

aaa
06/11/09 19:28
LittleHacker
Postato originariamente da Devil_Joker93:

Grazie LittleHacker94 !!!

Ti ho aggiunto su MSN, se ho ancora bisogno di aiuto ti contatterò...

Grazie Ancora

:k:



Di nulla è il mio hobby aiutare gli altri:k::rotfl:
aaa