Executes a global procedure in the context of the global service of the WebSocket server.
// The client has just established the connection.
// The client is declared in the array of clients available to play.
// Global procedure
PROCEDURE ClientConnection(clClient is websocketClient)
// Uses the client.
WebSocketExecuteGlobalService(<WLanguage procedure> [, <Parameters>])
<WLanguage procedure>: Procedure name
Name of the global WLanguage procedure to be executed in the context of the global service.
<Parameters>: List of values enclosed in brackets and separated by commas
Parameters of the procedure. This list of parameters has the following format:
(<Parameter 1>, ..., <Parameter N>)
- <Parameter 1>: First procedure parameter.
- <Parameter N>: Nth procedure parameter.
- Parameters are passed by value.
- Only simple types are allowed: Boolean, integer, ... For example, it is not possible to have a parameter corresponding to a class instance.
The global service of the WebSocket server and the connected clients are executed independently. Each is executed in its own context with:
- its own copy of global variables.
- its own database context.
Therefore, it is not possible to handle the global context or the context of another client.
WebSocketExecuteGlobalService is used to execute the global WLanguage procedure passed as parameter in the context of the global service. During the execution of the global procedure, the global variables will be those of the global service.
The global procedure is called between two calls of the "Global service" event (called in loop). There must be enough time between the calls to this event, otherwise the procedure will never be called. This interval can be configured via the <interval=<Duration>> extension attribute. For more details, see Use WebSockets with the WebSocket server
Asynchronous operating mode
The operating mode is asynchronous: the function simply requests the execution of the procedure. The procedure can actually be executed later (after WebSocketExecuteGlobalService has been executed). WebSocketExecuteGlobalService never returns an error (for example, if the client has been disconnected in the meantime).
Business / UI classification: Business Logic