... si scusa ho avuto dei problei con il PC...
------------------------------------------------------------------------------------------
Nozioni fondamentali sulla connessione TCP
Quando si crea un'applicazione che utilizza il protocollo TCP, è innanzitutto necessario decidere se tale applicazione sarà server o client. Se l'applicazione è un server rimarrà in "ascolto" su una determinata porta. Quando il client invia una richiesta di connessione, il server potrà accettare tale richiesta e completare la connessione. Client e server potranno quindi comunicare.
La seguente procedura consente di creare un semplice server:
Per creare un server TCP
Creare un nuovo progetto EXE standard.
Assegnare al form predefinito il nome frmServer.
Modificare la didascalia del form in "Server TCP".
Trascinare un controllo WinSock nel form e modificarne il nome in tcpServer.
Aggiungere nel form due controlli casella di testo. Denominare il primo txtSendData e il secondo txtOutput.
Specificare per il form il codice riportato di seguito.
Private Sub Form_Load()
' Imposta su un intero la proprietà LocalPort.
' Richiama quindi il metodo Listen.
tcpServer.LocalPort = 1001
tcpServer.Listen
frmClient.Show ' Visualizza il form client.
End Sub
Private Sub tcpServer_ConnectionRequest _
(ByVal requestID As Long)
' Verifica se il valore della proprietà State
' è sckClosed. In caso contrario, chiude la
' connessione prima di accettare quella nuova.
If tcpServer.State <> sckClosed Then _
tcpServer.Close
' Accetta la richiesta con il parametro
' requestID.
tcpServer.Accept requestID
End Sub
Private Sub txtSendData_Change()
' Il controllo casella di testo denominato
' txtSendData contiene i dati da inviare.
' Quando l'utente digita una stringa nella
' casella di testo, tale stringa viene inviata
' con il metodo SendData.
tcpServer.SendData txtSendData.Text
End Sub
Private Sub tcpServer_DataArrival _
(ByVal bytesTotal As Long)
' Dichiara una variabile per i dati in ingresso.
' Richiama il metodo GetData e assegna i dati
' alla proprietà Text del controllo casella di
' testo txtOutput.
Dim strData As String
tcpServer.GetData strData
txtOutput.Text = strData
End Sub
Il codice sopra riportato consente di creare una semplice applicazione server. Per completare l'esempio è tuttavia necessario creare anche un'applicazione client.
Per creare un client TCP
Aggiungere un nuovo form nel progetto e denominarlo frmClient.
Modificare la didascalia del form in "Client TCP".
Aggiungere un controllo WinSock nel form e denominarlo tcpClient.
Aggiungere in frmClient due controlli casella di testo. Denominare il primo txtSend e il secondo txtOutput.
Disegnare un controllo pulsante di comando nel form e denominarlo cmdConnect.
Modificare la didascalia del controllo pulsante di comando in "Connetti".
Specificare per il form il codice riportato di seguito.
Importante Assicurarsi di sostituire il valore della proprietà RemoteHost con il nome del computer.
Private Sub Form_Load()
' Il nome del controllo WinSock è tcpClient.
' Nota: per specificare un host remoto, è possibile
' utilizzare l'indirizzo IP (es: "121.111.1.1")
' oppure il nome del computer, come qui indicato.
tcpClient.RemoteHost = "NomeComputerRemoto"
tcpClient.RemotePort = 1001
End Sub
Private Sub cmdConnect_Click()
' Richiama il metodo Connect per stabilire una
' connessione.
tcpClient.Connect
End Sub
Private Sub txtSendData_Change()
tcpClient.SendData txtSend.Text
End Sub
Private Sub tcpClient_DataArrival _
(ByVal bytesTotal As Long)
Dim strData As String
tcpClient.GetData strData
txtOutput.Text = strData
End Sub
Il codice sopra riportato crea una semplice applicazione di tipo client-server. Per verificarne il funzionamento, eseguire il progetto e fare clic sul pulsante Connetti. Digitare quindi del testo nel controllo casella di testo txtSendData di un form: lo stesso testo verrà visualizzato nel controllo casella di testo txtOutput del secondo form.
------------------------------------------------------------------------------------------
E il errore e 40006
|