Abilitare JavaScript per vedere questo sito.

Funzione per l'invio di un messaggio UDP con notifica a una stazione precedentemente specificata.

Il messaggio prevede obbligatoriamente la risposta, che deve essere letta tramite la funzione udp_recv_notify(). La funzione può essere usata solo per comunicazioni da parte del client.

Sintassi

i32 udp_send_notify (i32 idx, buff, i32 buffLen)

idx

Numero dell'handler della comunicazione UDP.

buff

Buffer generico contenente il pacchetto dati da trasmettere. Può essere una variabile string, una struct_p (struttura packed) oppure un array di struct_p. Nel caso di struct_p, la variabile deve essere dichiarata globale.

Nella struttura, il primo membro deve essere dichiarato di tipo u32 e rappresenta l'identificatore del messaggio msgId; il valore viene attribuito dalla funzione udp_send_notify(). msgId deve essere utilizzato lato server nel messaggio di risposta e serve per garantire l'instradamento al client corretto. Tutti gli altri dati sono ad uso utente.

La dimensione massima di questa struttura è: MAX_UDP_DATA=508 byte.

buffLen

Numero di byte totali da trasmettere (compreso msgId).

Risultato

Rende:

Valore

Significato

>= 0

Operazione eseguita con successo. Viene reso il numero di caratteri inviati.

-1

idx illegale.

-2

Socket non aperto.

-3

Socket aperto come server e non come client.

-4

buffLen maggiore del massimo consentito.

-5

Una udp_send_notify() già in corso per l'idx specificato.

-1000 -:- -2000

Codice di errore della funzione di S.O. sendto(), con offset 1000.

Per vedere più nello specifico alcuni errori resi, vedi Tabella errori resi.

Validità

Rule, Task.

Note

Una sola funzione udp_send_notify() può essere attiva contemporaneamente verso ciascun server (cioè per ciascun idx aperto).

Per un esempio concreto vedi in ambiente RDE: Workspace -> Speciali -> Libreria degli esempi.

 

  

Keyboard Navigation

F7 for caret browsing
Hold ALT and press letter

This Info: ALT+q
Page Header: ALT+h
Topic Header: ALT+t
Topic Body: ALT+b
Contents: ALT+c
Search: ALT+s
Exit Menu/Up: ESC