- 18 Agosto 2007
- 2.775
- 0
- Miglior risposta
- 0
Allora ragazzi prima di tutto apriamo visual basic 6 e creiamo un TextBox abbastanza grande da contenere i messaggi e chiamiamolo "txtMessaggi" ( senza "" ) e impostiamo la proprietà "multiline" su True
Adesso creiamo un altro TextBox e lo chiameremo "txtdainviare" e anke qst con multiline True .
Successivamente creiamo un controllo Winsock impostiamo il protocollo a TCP e chiameremo questo controllo Winsock "TCP" e impostiamo local port su "0"
Creiamo altri 2 TextBox nei quali inseriremo HOST e PORTA .
Ora è arrivato il momento di inserire i Command Button
Allora creiamone uno con la proprietà "caption" -> Connetti -> prop. Name -> cmdConnetti
Un altro con la caption -> Disconnetti -> prop. Name -> cmdDisconnetti
un altro -> Invia -> prop. Name -> cmdInvia
e l'ultimo -> Ascolta -> prop. Name -> cmdAscolta
( prop. vuol dire proprietà )
Adesso vedremo i codici da inserire per ogni controllo :
Prima del controllo Winsock dichiariamo una variabile di tipo nick :
Dim nick As String
Poi nel form_load scriviamo
nick = InputBox("Scrivi il nick", "Nick")
If nick = "" Then
MsgBox "Nick non valido", vbCritical, "Chat"
End
End If
Adesso possiamo vedere il controllo Winsock :
Nella dichiarazione -> TCP_ConnectionRequest inseriamo
If (TCP.State <> sckClosed) Then TCP.Close 'Chiude la connessione se è già aperta per evitare errori
TCP.LocalPort = 0 'Imposta la porta a 0
TCP.Accept requestID 'Accetta la richiesta del client
Me.Caption = "Connessione riuscita!" 'Descrive lo stato
TCP.Tag = TCP.RemoteHostIP 'Salva l'ip remoto nella proprietà tag del winsock
Nella dichiarazione -> TCP_DataArrival
Dim data As String 'Qui verranno salvati i dati
On Error Resume Next 'Controllo degli errori
TCP.GetData data 'Salva i dati ricevuti nella variabile Data
txtMessaggi.Text = txtMessaggi.Text & vbCrLf & "Received: " & data 'Accoda i dati nella textbox dei messaggi
Adesso vediamo il Command Button "invia" -> doppio click e inseriamo
Dim mex As String 'Variabile contenente il messaggio
mex = txtdainviare.Text 'salva i dati dai inviare nella variabile
txtMessaggi.Text = txtMessaggi.Text & vbCrLf & "Send: " & mex 'Accoda il messaggio alla textbox dei messaggi
TCP.SendData mex 'Manda il messaggio
Ora il Command Button "ascolta -> doppio click e inseriamo
Me.Caption = "Stato: In ascolto" ' Descrive lo stato
TCP.LocalPort = Val(txtPort) 'Imposta la porta da ascoltare leggendola dalla textbox della porta
TCP.Listen 'Si mette in ascolto
Ci mancano solo 2 Command Button :
Connetti
If TCP.State <> sckClosed Then TCP.Close 'chiude la connessione se è aperta
TCP.LocalPort = 0 'Imposta la porta a zero
TCP.Connect txtHost, txtPort 'Connessione al client
Me.Caption = "Connesso all'host" 'Descrive lo stato Nell 'evento click del pulsante disconnetti scriviamo:
Me.Caption = "Connessione chiusa"
TCP.Close 'Chiude la connessione
e Disconnetti
Me.Caption = "Connessione chiusa"
TCP.Close
Spero di esservi stato d'aiuto...
EDIT :
Ho creato una chat semplice biutente con tanto di source (un po diversi da quelli della guida ) ma c'è :
Eseguibile,Source,Spiegazione,tutto nel .rar
Download :
Scansione :
Spero che adesso vi abbia un po aiutato postando questo
Adesso creiamo un altro TextBox e lo chiameremo "txtdainviare" e anke qst con multiline True .
Successivamente creiamo un controllo Winsock impostiamo il protocollo a TCP e chiameremo questo controllo Winsock "TCP" e impostiamo local port su "0"
Creiamo altri 2 TextBox nei quali inseriremo HOST e PORTA .
Ora è arrivato il momento di inserire i Command Button
Allora creiamone uno con la proprietà "caption" -> Connetti -> prop. Name -> cmdConnetti
Un altro con la caption -> Disconnetti -> prop. Name -> cmdDisconnetti
un altro -> Invia -> prop. Name -> cmdInvia
e l'ultimo -> Ascolta -> prop. Name -> cmdAscolta
( prop. vuol dire proprietà )
Adesso vedremo i codici da inserire per ogni controllo :
Prima del controllo Winsock dichiariamo una variabile di tipo nick :
Dim nick As String
Poi nel form_load scriviamo
nick = InputBox("Scrivi il nick", "Nick")
If nick = "" Then
MsgBox "Nick non valido", vbCritical, "Chat"
End
End If
Adesso possiamo vedere il controllo Winsock :
Nella dichiarazione -> TCP_ConnectionRequest inseriamo
If (TCP.State <> sckClosed) Then TCP.Close 'Chiude la connessione se è già aperta per evitare errori
TCP.LocalPort = 0 'Imposta la porta a 0
TCP.Accept requestID 'Accetta la richiesta del client
Me.Caption = "Connessione riuscita!" 'Descrive lo stato
TCP.Tag = TCP.RemoteHostIP 'Salva l'ip remoto nella proprietà tag del winsock
Nella dichiarazione -> TCP_DataArrival
Dim data As String 'Qui verranno salvati i dati
On Error Resume Next 'Controllo degli errori
TCP.GetData data 'Salva i dati ricevuti nella variabile Data
txtMessaggi.Text = txtMessaggi.Text & vbCrLf & "Received: " & data 'Accoda i dati nella textbox dei messaggi
Adesso vediamo il Command Button "invia" -> doppio click e inseriamo
Dim mex As String 'Variabile contenente il messaggio
mex = txtdainviare.Text 'salva i dati dai inviare nella variabile
txtMessaggi.Text = txtMessaggi.Text & vbCrLf & "Send: " & mex 'Accoda il messaggio alla textbox dei messaggi
TCP.SendData mex 'Manda il messaggio
Ora il Command Button "ascolta -> doppio click e inseriamo
Me.Caption = "Stato: In ascolto" ' Descrive lo stato
TCP.LocalPort = Val(txtPort) 'Imposta la porta da ascoltare leggendola dalla textbox della porta
TCP.Listen 'Si mette in ascolto
Ci mancano solo 2 Command Button :
Connetti
If TCP.State <> sckClosed Then TCP.Close 'chiude la connessione se è aperta
TCP.LocalPort = 0 'Imposta la porta a zero
TCP.Connect txtHost, txtPort 'Connessione al client
Me.Caption = "Connesso all'host" 'Descrive lo stato Nell 'evento click del pulsante disconnetti scriviamo:
Me.Caption = "Connessione chiusa"
TCP.Close 'Chiude la connessione
e Disconnetti
Me.Caption = "Connessione chiusa"
TCP.Close
Spero di esservi stato d'aiuto...
EDIT :
Ho creato una chat semplice biutente con tanto di source (un po diversi da quelli della guida ) ma c'è :
Eseguibile,Source,Spiegazione,tutto nel .rar
Download :
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
Scansione :
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
Spero che adesso vi abbia un po aiutato postando questo
Ultima modifica: