Trasmissione di dati fra due o più programmi Gambas mediante la Classe UdpSocket del Componente gb.net
Da Gambas-it.org - Wikipedia.
Versione del 18 apr 2023 alle 13:48 di Vuott (Discussione | contributi)
Di seguito mostriamo due semplici programmi, uno che invia dati e l'altro che riceve tali dati mediante la Classe "UdpSocket" del Componente gb.net .
Bisognerà individuare il proprio indirizzo IP privato. Questo indirizzo IP privato potrà essere ricavato lanciando da Terminale il comando:
~$ hostname -I
Il codice del programma che invia dati è il seguente:
Public Sub Main() Dim UdpInvio As UdpSocket With UdpInvio = New UdpSocket As "UdpInvio" .Broadcast = True ' Si assegna il proprio indirizzo IP privato: .TargetHost = "Indirizzo_IP_privato" ' Si assegna il numero della porta del programma ricevente: .TargetPort = "12345" .Bind() End With If UdpInvio.Status = Net.Active Then Write #UdpInvio, "Testo qualsiasi inviato" Flush #UdpInvio Close #UdpInvio Endif Catch Print Error.text End
Il codice del programma che riceverà i dati, sarà il seguente:
Public Sub Main() Dim UdpRicezione As UdpSocket With UdpRicezione = New UdpSocket As "UdpRicezione" .broadcast = True ' Si assegna un numero qualsiasi della porta: .port = 12345 .Bind() End With While UdpRicezione.Status = Net.Active Wait 0.01 Wend Print "\nProgramma terminato" End Public Sub UdpRicezione_Read() Dim s As String Read #Last, s, -32 Print s Last.Close End Public Sub UdpRicezione_Error() Print Last.status End