AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Comunicación / Sockets
  • 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)
  • Permisos necesarios
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
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.
WINDEVReportes y ConsultasJavaCódigo de Usuario (UMC)
// Add received messages in a Table control
TableAdd(TABLE_Table1, "1" + TAB + SocketRead("Server", False) + ...
TAB + SocketClientInfo("server", SocketAddress) + ...
TAB + SocketClientInfo("server", SocketPort))
WEBDEV - Código ServidorPHPAjax
WHILE SocketExist("MySocket") = True
sMsg is string = SocketRead("MySocket", True)
IF sMsg <> "" THEN
ListAdd(LIST_Messages, Now() + " " + sMsg)
END
END
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:
WINDEV Atención: el nombre del socket distingue entre mayúsculas y minúsculas.
<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
WINDEVWEBDEV - Código ServidorReportes y ConsultasJavaCódigo de Usuario (UMC)

Número de bytes transmitidos

corresponde al número máximo de caracteres que pueden transmitirse. El número de caracteres recibidos no está garantizado.
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 respetar la integridad de los mensajes transmitidos, debe utilizar un protocolo nativo de WINDEV y WEBDEV (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.
AndroidWidget Android

Permisos necesarios

La llamada a esta función modifica los permisos requeridos por la aplicación.
Requerido Permission : INTERNET
Esta Permission permite a las aplicaciones abrir la red sockets.
Componente: wd290com.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 22/06/2023

Señalar un error o enviar una sugerencia | Ayuda local