Metodo ReceiveFromSpecificClient

Panoramica

Tipo:

Metodo

Disponibile a partire da:

V1.0.4.0

Task

Lettura di dati memorizzati nel buffer di ricezione del client specificato tramite il suo IP sorgente e porta e rimozione dai dati dal buffer se sono stati letti senza rilevare errori.

Descrizione funzionale

Legge i dati memorizzati nel buffer di ricezione del client specificato tramite il suo IP sorgente e la sua porta e rimuove i dati dal buffer se sono stati letti senza rilevare errori.

Il valore UDINT restituito indica il numero di byte scritti nel buffer fornito dall'applicazione.

Per ulteriori informazioni sui metodi di ricezione, consultare la sezione Metodo di ricezione.

Considerazioni per connessioni che utilizzano TLS

Il comportamento dei metodi Peek e Receive potrebbe essere diverso per le connessioni con TLS e senza TLS. in particolare quando si scambiano grandi pacchetti di dati. Quando si eseguono i metodi su una connessione che utilizza TLS, può essere richiesta l'esecuzione di più chiamate di metodo finché i dati non vengono copiati o spostati nel buffer applicazione. In ogni caso, prima di elaborare i dati, verificare la quantità di dati copiati o spostati e se i dati sono completi.

Interfaccia

Ingresso

Tipo di dati

Intervallo di valori valido

Descrizione

i_sClientIP

STRING(15)

-

Indirizzo IP del client collegato da cui devono essere letti i dati.

i_uiClientPort

UINT

1 ... 65535

Porta sorgente del client collegato da cui devono essere letti i dati.

i_pbyReceiveBuffer

POINTER TO BYTE

-

Indirizzo iniziale del buffer per la scrittura dei dati ricevuti.

i_udiReceiveBufferSize

UDINT

1 ... 2147483647

Numero di byte da leggere.

NOTA: Il valore non deve essere superiore alle dimensioni del buffer.
NOTA: Per impedire la violazione di accesso provocata dall'accesso non valido del puntatore alla memoria, utilizzare l'operatore aritmetico SIZEOF insieme al buffer di destinazione per determinare il valore di i_udiReceiveBufferSize.

In_Out

Tipo di dati

Intervallo di valori valido

Descrizione

iq_udiFillLevel

UDINT

1 ... 2147483647

Indica il livello di riempimento del buffer.

Prima del richiamo della funzione:

i dati verranno scritti a partire da questo offset.

Dopo il richiamo della funzione:

i dati vengono aggiornati aggiungendo il numero di byte scritti al valore originale.

Utilizzato da

  • FB_TCPServer/FB_TCPServer2