DocumentaciónRECIBIR(s)
Nombre
RECIBIR - Recibe datos desde un socket conectado.
Sinopsis
ok = RECIBIR(s)
Descripcion
Lee datos desde un socket conectado y guarda el resultado dentro del mismo objeto SOCKET.
El contenido recibido queda disponible como texto crudo y, cuando aplica, tambien como tabla interpretada por el runtime.
Comportamiento
- Recibe un
SOCKETpor referencia. - Guarda el contenido en
s.datay, cuando aplica, ens.data_tabla. - Retorna
VERDADEROsi se recibieron datos correctamente.
Funciones API relacionadas
CONECTAR()ENVIAR()HAY_DATOS()DESCONECTAR()
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| s | SOCKET | Socket conectado (se pasa por referencia). Debe haber sido conectado previamente con CONECTAR(s) o provenir de ACEPTAR(servidor). |
Valor de retorno
LOGICO - Resultado logico.
- VERDADERO: se recibieron datos exitosamente.
- FALSO: en caso contrario (por ejemplo, conexión cerrada o error).
Ejemplo
ejemplo.blox
//
// RECIBIR() - Recibe datos a través del socket y los almacena en los
// atributos de la variable SOCKET.
//
// Sintaxis:
// recibido = RECIBIR(s)
//
// Recibe como parámetro la variable tipo SOCKET.
//
// Los datos recibidos se almacenan en el atributo <s.data> (STRING) y
// en <s.data_tabla> (TABLA), si los datos pueden ser interpretados como
// tabla.
//
// Ejemplo:
// LOGICO recibido
// recibido = RECIBIR(s)
// SI (recibido) ENTONCES IMPRIMIR("Mensaje: ", s.data) FIN_SI
//
// Devuelve VERDADERO si se recibieron datos exitosamente,
// FALSO en caso contrario.
//
// CLIENTE en comunicacion TCP/IP
//
FUNCION PRINCIPAL
INICIO
TABLA t
NUMERICO i, fin
LOGICO recibido
SOCKET s
s.ip = "127.0.0.1"
s.port = 5555
CONECTAR(s)
SI (s.conectado) ENTONCES
IMPRIMIR("\n\nConectado al servidor.\n")
i = 1
HACER
recibido = RECIBIR(s)
SI (recibido == VERDADERO) ENTONCES
IMPRIMIR("\n> ", s.data) // El servidor pasa los datos en dos formatos s.data y s.data.tabla
i = i + 1
FIN_SI
MIENTRAS_QUE (recibido)
DESCONECTAR(s)
SINO
IMPRIMIR("\n\nNo se pudo conectar al servidor.")
FIN_SI
FINAL