Differenze tra le versioni di "Trasmissione di dati fra due o più programmi Gambas mediante la Classe UdpSocket del Componente gb.net"
Da Gambas-it.org - Wikipedia.
Riga 3: | Riga 3: | ||
~$ hostname -I | ~$ hostname -I | ||
Il codice del programma che invia dati è il seguente: | Il codice del programma che invia dati è il seguente: | ||
− | + | Public Sub Main() | |
Dim UdpInvio As UdpSocket | Dim UdpInvio As UdpSocket | ||
Riga 25: | Riga 25: | ||
Print Error.text | Print Error.text | ||
− | + | End | |
Il codice del programma che riceverà i dati, sarà il seguente: | Il codice del programma che riceverà i dati, sarà il seguente: | ||
− | + | Public Sub Main() | |
Dim UdpRicezione As UdpSocket | Dim UdpRicezione As UdpSocket | ||
Riga 45: | Riga 45: | ||
Print "\nProgramma terminato" | Print "\nProgramma terminato" | ||
− | + | End | |
− | + | ||
+ | Public Sub UdpRicezione_Read() | ||
Dim s As String | Dim s As String | ||
Riga 56: | Riga 57: | ||
Last.Close | Last.Close | ||
− | + | End | |
+ | |||
− | + | Public Sub UdpRicezione_Error() | |
Print Last.status | Print Last.status | ||
− | + | End | |
Versione attuale delle 12:05, 22 giu 2024
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