|
|
|
|
- Número de bytes transmitidos
- Comunicación con robots o con aplicaciones que no sean de WINDEV
- Transmisión entre dos ordenadores que utilizan cadenas de caracteres en diferentes formatos (UNICODE y ANSI)
Recupera un mensaje enviado por otro socket. Esta función se puede utilizar en un ordenador cliente o en un servidor. Observaciones: - Zócalo UDP: Al ser el protocolo UDP un "protocolo sin conexión", al recuperar el mensaje, WINDEV guarda la IP Address y el puerto de el equipo que envió el mensaje. Esta información es devuelta por SocketClientInfo.
- Zócalo SSL: SocketRead se puede usar con SSL sockets .
Recordatorio: Un socket es un recurso utilizado por las aplicaciones para comunicarse de un equipo a otro, independientemente del tipo de red. Sintaxis
<Result> = SocketRead(<Socket name> [, <Undefined wait> [, <Maximum timeout> [, <Maximum number of bytes>]]])
<Result>: Buffer o cadena de caracteres - Mensaje leído.
- Búfer vacío o cadena vacía ("") si no se ha recibido ningún mensaje.
<Socket name>: Cadena de caracteres Nombre del socket que recibió el mensaje. En las aplicaciones WINDEV: <Undefined wait>: Booleano opcional - True (valor predeterminado): espera indefinida de un mensaje de cliente.
- False: espere hasta el .
<Maximum timeout>: Entero o duración opcional Tiempo máximo de espera (en milisegundos) de un mensaje de cliente si la espera indefinida está establecida en False. Este parámetro puede ser: - un número entero que corresponde al número de milisegundos,
- una variable de tipo Duration,
- la duración en un formato legible (por ejemplo, 1 s o 10 ms).
Por defecto, este tiempo de espera es de set a 1000 milisegundos (1 segundo). <Maximum number of bytes>: Entero opcional Número máximo de caracteres que se pueden transmitir. El número de caracteres recibidos no está garantizado.Este parámetro se tiene en cuenta solo si se especifica la constante SocketNoEndTag en SocketChangeTransmissionMode 300. De lo contrario, se ignora este parámetro. Este parámetro es set a 4096 bytes por Default. Observaciones SocketRead lee un marco de red y lo devuelve inmediatamente, sin transformarlo. Sin embargo, el tamaño de una trama de red depende de varios factores (configuración de la red, velocidad y tráfico en la red, etc.). SocketWrite envía (si es posible) el buffer pasado como parámetro en una sola trama. Si esta trama no es aceptada por la red, el buffer puede dividirse en varias tramas (o al revés, la red puede fusionar los mensajes en una sola trama para optimizar el ancho de banda). Para garantizar la integridad de los mensajes transmitidos, se debe utilizar un protocolo WINDEV y WEBDEV nativo (con las constantes SocketSizeAtBeginning y SocketEndTag de la función SocketChangeTransmissionMode) o implementar un protocolo específico. Comunicación con robots o con aplicaciones que no sean de WINDEV Para simplificar los intercambios de datos por zócalo, un modo de transmisión es inicializado por Default. Para una comunicación con un módulo externo (aplicación no WINDEV, robot, etc.), este modo de transmisión puede impedir que las comunicaciones funcionen correctamente.. Para cambiar este modo de transmisión se utiliza SocketChangeTransmissionMode: la constante SocketNoEndTag evita que se modifiquen las tramas leídas o escritas. Transmisión entre dos ordenadores que utilizan cadenas de caracteres en diferentes formatos (UNICODE y ANSI) Puede ser necesario convertir las cadenas para enviar mensajes entre dos ordenadores que utilizan codificaciones diferentes (por ejemplo, ANSI y UNICODE). Estas conversiones pueden ser realizadas por AnsiToUnicode y UnicodeToAnsi. Clasificación Lógica de negocio / UI: Lógica de negocio
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|