PC SOFT

ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Home | Sign in | English EN
New WEBDEV 26 feature!
  • Presentación
  • Cómo funciona el servidor de WebSocket
  • ¿Cómo usar el servidor WebSocket con WEBDEV?
  • Proyecto "WebSocket server".
  • Creando un proyecto de "Servidor WebSocket".
  • Eventos de WLanguage específicos de los proyectos de "WebSocket server".
  • Contextos de ejecución
  • Funciones específicas de WLanguage que pueden ser usadas en proyectos de servidores WebSocket
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Presentación
El protocolo WebSocket proporciona un canal de comunicación a través de un socket TCP para navegadores y servidores Web. Así, es posible comunicarse e intercambiar mensajes con un servidor web, utilizando el código del navegador WEBDEV.
El servidor WebSocket provisto con WEBDEV puede ser ejecutado en Windows y con IIS (IIS 8 o posterior) solamente.
Cómo funciona el servidor de WebSocket
En una aplicación o sitio web, el cliente envía una solicitud al servidor y éste devuelve la respuesta, como el contenido de la página solicitada.
El uso de un WebSocket permite transmitir datos associated con el sitio web en Time real (por ejemplo, mensajes en un sitio de mensajería instantánea). Con el protocolo WebSocket, el cliente sólo necesita establecer una Connection con un servidor Web. Una vez establecido, el canal de comunicación permanece abierto.
El servidor puede enviar de forma independiente toda la información que considera useful al cliente.. Si hay nueva información disponible en el servidor, el cliente no tiene que enviar una solicitud.
¿Cómo usar el servidor WebSocket con WEBDEV?
Para usar el servidor WebSocket, debes:
  1. Instalar el servidor de aplicaciones WEBDEV 26 (o posterior), que permite gestionar los servidores WebSocket (pestaña "WebSockets").
  2. Crear un proyecto de "Servidor WebSocket".. Este proyecto se despliega en el servidor Web (donde se ha instalado el servidor de aplicaciones WEBDEV). Espera a que se le envíen las conexiones usando el protocolo WebSocket. Esta aplicación se ejecuta en la Background del servidor.
  3. Crear el proyecto WEBDEV que enviará solicitudes al servidor WebSocket. Este proyecto enviará mensajes al servidor WebSocket (a través del código del navegador) y a Process las respuestas utilizando las funciones de Socketxxx, si es necesario..
Observación: El servidor WebSocket de WEBDEV puede ser usado con cualquier lenguaje que soporte este protocolo.
Proyecto "WebSocket server".

Creando un proyecto de "Servidor WebSocket".

Para crear un proyecto de "Servidor WebSocket"...:
  1. Vaya a la página web de WEBDEV (o presione CTRL + <).
  2. Haz clic en "Crear un proyecto", luego en "Servidor WebSocket".
  3. El asistente de creación de proyectos se abre automáticamente.
  4. Especifique el nombre del proyecto y siga los diferentes pasos de la creación del proyecto (para más detalles, vea Crear un proyecto WEBDEV).
  5. Finalice el asistente: el proyecto se crea automáticamente.

Eventos de WLanguage específicos de los proyectos de "WebSocket server".

Varios eventos específicos de WLanguage son associated con el proyecto:
EventCondición de ejecución
Servicio global (bucle Process)Esta Event es la Event principal del servidor WebSocket. Se llama en un bucle cuando se inicia el servidor WebSocket.
Por ejemplo, esta Event puede ser usada para enviar un mensaje a uno o más clientes según un parámetro leído en un archivo de datos.
Puede especificar la ejecución de la interval de esta Event usando la siguiente sintaxis:
PROCEDURE GlobalService()<interval=<Duration>>
donde <Duración> es el evento de ejecución interval. Este parámetro puede ser un entero que corresponde al número de milisegundos, o la Duration en formato de texto (por ejemplo, '20 s' o '10 ms'). Por defecto, esta Event se ejecuta cada 10 segundos.
En esta Event, puedes usar WebSocketListConnectedUser para get la List de clientes conectados a la Time de ejecución de la función (ten en cuenta que esta List puede ser diferente en cada momento).
Nueva conexiónEjecutado cuando se solicita un cliente Connection (a través de SocketConnect).
Recordatorio: El cliente es un sitio web. La solicitud de Connection se hará a partir del código del navegador de una página web.
Este Event acepta parámetros. Este Event tiene el siguiente formato:
PROCEDURE Connection(Client is websocketClient)
donde <Cliente> corresponde a una websocketClient Variable que contiene las características del cliente.
Recibir un mensaje de un clienteSe ejecuta cuando el cliente envía un mensaje al servidor WebSocket (vía SocketWrite).
Este Event acepta parámetros. Este Event tiene el siguiente formato:
PROCEDURE ReceiveMessage(Client is websocketClient,
vMessage is Variant)
donde:
  • <Cliente> corresponde a una websocketClient Variable que contiene las características del cliente.
  • <vMessage> corresponde al mensaje enviado por el cliente. El tipo real del valor almacenado es una cadena Unicode o un Buffer (<vMessage>..Type).
Desconexión de un clienteSe ejecuta cuando el cliente se desconecta (a través de SocketClose).
Este Event acepta parámetros. Este Event tiene el siguiente formato:
PROCEDURE Disconnection(Client is websocketClient)
donde <Cliente> corresponde a una websocketClient Variable que contiene las características del cliente.
Detener el servicio globalEjecutado cuando el servicio global se detenga.

Observación: Para editar los eventos específicos de un proyecto: en la pestaña "Home", en el grupo "General", despliegue y seleccione "Código del proyecto".

Contextos de ejecución

El servicio global del servidor WebSocket y los clientes conectados se ejecutan de forma independiente. Cada uno se ejecuta en su propio contexto con:
  • su propia copy de variables globales.
  • su propio contexto de base de datos.
  • etc.
Por lo tanto, no es posible para manipular el contexto global o el contexto de otro cliente de otro contexto.
WebSocketRun se utiliza para ejecutar una Procedure en el contexto de un cliente conectado al servidor WebSocket. En este caso, el contexto de ejecución es el del cliente: durante la ejecución de la Procedure, las variables globales serán las del cliente especificado.
WebSocketExecuteGlobalService se utiliza para ejecutar una Procedure en el contexto global del servidor WebSocket. Durante la ejecución de la Procedure, las variables globales serán las del servicio global.
Atención: Puede ser necesario establecer el tiempo de interval entre dos llamadas de servicio global para que la Procedure pueda ser ejecutada.

Funciones específicas de WLanguage que pueden ser usadas en proyectos de servidores WebSocket

Las siguientes funciones pueden ser utilizadas en el servidor WebSocket:
Versions 26 and later
WebSocketDisconnect
New in version 26
WebSocketDisconnect
WebSocketDisconnect
Disconnects a client from a WebSocket server.
Versions 26 and later
WebSocketSend
New in version 26
WebSocketSend
WebSocketSend
Sends a message from the WebSocket server to the client.
Versions 26 and later
WebSocketExecute
New in version 26
WebSocketExecute
WebSocketExecute
Runs a global Procedure in the context of a client connected to the WebSocket server.
Versions 26 and later
WebSocketExecuteGlobalService
WebSocketExecuteGlobalService
Executes a global Procedure in the context of the global service of the WebSocket server.
Versions 26 and later
WebSocketListConnectedUser
WebSocketListConnectedUser
Lists the clients connected to the WebSocket server.
Minimum version required
  • Version 26
Comments
Click [Add] to post a comment