Cerca

VB.NET – Inviare Messaggi via Socket

Indice Articolo

Ultimi articoli pubblicati

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.

3 risposte

  1. è un esempio di qualche tempo fa. Non lo trovo più.. Dimmi quali sono i problemi che hai incontrato?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

dieci − 8 =