Metodo PeekFromFirstAvailableClient

Panoramica

Tipo:

Metodo

Disponibile a partire da:

V1.0.4.0

Task

Lettura di dati memorizzati nel buffer di ricezione del primo client che dispone di dati pronti alla lettura.

Descrizione funzionale

Legge i dati memorizzati nel buffer di ricezione del primo client che dispone di dati disponibili per la lettura senza rimuoverli dopo la lettura.

Questo metodo Peek può essere utilizzato se una certa quantità di dati deve essere disponibile per essere elaborata correttamente e la quantità può essere determinata da parti dei dati (ad esempio, la lunghezza di campo). In questo caso, i dati possono essere copiati nell'applicazione richiamando il metodo Receive.

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

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_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.

Uscita

Tipo di dati

Intervallo di valori valido

Descrizione

q_sClientIP

STRING(15)

-

Indirizzo IP del client.

q_dwClientIP

DWORD

-

Indirizzo IP del client come DWORD; ogni byte rappresenta una cifra dell'indirizzo IPv4.

q_uiClientPort

UINT

-

Porta sorgente del client.

Utilizzato da

  • FB_TCPServer/FB_TCPServer2