Elenco delle variabili globali
L'elenco delle variabili globali contiene le variabili globali della libreria TcpUdpCommunication.
Le variabili globali sono automaticamente utilizzate dai rispettivi blocchi funzione.
Il tempo risparmiato si calcola nel modo seguente: Risparmio temporale = 2 x 20 ms + tempo di ciclo
Variabile |
Tipo di dati |
Descrizione |
---|---|---|
G_stDefaultSocketOptionsTCPClient |
Valore predefinito per le opzioni socket che sono impostate quando viene inizializzata una connessione client TCP. |
|
G_stDefaultSocketOptionsTCPServer |
Valore predefinito per le opzioni socket che sono impostate quando viene inizializzato un socket server TCP. |
|
G_stDefaultSocketOptionsUDPPeer |
Valore predefinito per le opzioni socket che sono impostate quando viene inizializzato un socket server UDP. |
|
G_xDisableAsyncExecTcpClient |
BOOL |
Se TRUE, l'esecuzione asincrona del codice programma per stabilire una connessione sicura è disattivata.(1) Valore predefinito: FALSE |
G_xDisableAsyncExecTcpServer |
BOOL |
Se TRUE, l'esecuzione asincrona del codice programma per aprire un socket sicuro e accettare una connessione in entrata è disattivata.(1) Valore predefinito: FALSE |
(1) Nota: disattivare l'esecuzione asincrona significa che il codice programma rispettivo viene eseguito in modo sincrono nel task chiamante. Ciò porta a un significativo aumento del tempo di esecuzione per almeno un ciclo del task durante il processo rispettivo. |
L'esempio di codice mostra come cambiare l'opzione del socket predefinita per l'implementazione client TCP. In questo esempio, la dimensione predefinita del buffer di ricezione è impostata a 10000 byte. Questo valore predefinito viene applicato per ogni nuova connessione finché la variabile xModifyReceiveBufferSize è TRUE.
IF NOT xInitDone THEN
// Enable the use of user defined default socket options
TCPUDP.GVL.G_stDefaultSocketOptionsTCPClient.xModifyReceiveBufferSize := TRUE;
// Set the values for the default socket options
TCPUDP.GVL.G_stDefaultSocketOptionsTCPClient.udiReceiveBufferSizeValue := 10000;
xInitDone := TRUE;
END_IF
// Connect to the server
IF (fbTcpClient.State = TCPUDP.ET_State.Idle) AND xConnect THEN
xConnectDone := fbTcpClient.Connect(i_sServerIP:= '192.168.100.11', i_uiServerPort:= 12345);
IF NOT xConnectDone THEN
; // error handling
END_IF
xConnect :=FALSE;
END_IF
NOTA: Indipendentemente dalle opzioni predefinite del socket, è possibile modificare singolarmente le opzioni del socket per ogni socket aperto. È possibile modificare le opzioni del socket mediante la corrispondente Proprietà dell'istanza del blocco funzione rispettivo.