VB.NET – Inviare Messaggi via Socket
Oggi voglio farvi vedere come è semplice inviare dei messaggi a qualsiasi dispositivo in rete tramite i Socket. Brevemente vi posso dire che il Socket è una porta di comunicazione. Tutte le macchine che possono comunicare tramite il protocollo TCP/IP possono connettersi ad un Socket e trasmettere qualsiasi cosa.
Il linguaggi .NET mettono a disposizione la Classe System.Net.Socket, la quale ci aiuta a instaurare una comunicazione tramite Socket. Per iniziare dovete naturalmente importare questa classe nel vostro progetto:
Imports System.Net
Imports System.Net.Sockets
Imports System.Text
Come vedete oltre a questa sono state importate la System.Net e la System.Text la quale ci aiuterà a fare delle operazioni con le stringhe. Nel vostro progetto Windows Application disegnate una form come questa nella immagine sotto:
In questa form dovrà essere inserito l’indirizzo IP della macchina che sta in ascolto, la porta su cui questa macchina sta in ascolto (se volete realizzare un socket di ascolto tornate a visitarci domani) e il messaggio che volete inviare. Sul evento click del bottone invia dovete dichiarare il socket e connetterlo e poi inviare il messaggio. Eccovi un semplice esempio di invio della stringa tramite Socket:
Dim host As IPAddress = Nothing
Dim mySock As Socket = Nothing
Dopo aver dichiarato una variabile di tipo IPAddress e Socket dovete:
Try
‘Controllare se l’indirizzo inserito è valido
‘Questa funzione accetta in ingresso byRef una variabile di tipo IPAddress la quale serve
‘Per creare l’IPEndPoint
If Not IPAddress.TryParse(tbIp.Text, host) Then
MessageBox.Show(“Indirizzo non valido”)
Exit Sub
End If
Non rimane che creare l’IPEndPoint e poi connettere il socket:
‘Creazione IPEndPoint e Socket
Dim ep As IPEndPoint = New IPEndPoint(host, Integer.Parse(tbPorta.Text))
mySock = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
‘Connessione Socket
mySock.Connect(ep)
‘Controllo se connesso
If mySock.Connected Then
‘Invio i byte del messaggio
mySock.Send(Encoding.ASCII.GetBytes(tbMessage.Text))
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Questo è tutto. Se tornate domani vi spiego come realizzare un ascoltatore via Socket. Ciao e buona programmazione.

Twittalo
Condividi su Facebook
RSS Feed
ma volendo applicare il tutto a una applicazione pocket pc ?
Scusa ma l’esempio completo e funzionante non lo puoi mettere???
ilenia recently posted..NEWS SUI GATTI
è un esempio di qualche tempo fa. Non lo trovo più.. Dimmi quali sono i problemi che hai incontrato?