Documentación de Velneo
25
25
  • Introducción
  • Velneo
    • ¿Qué es velneo?
    • Requerimientos de Velneo
    • Notas de la versión
    • Funcionalidades comunes a los componentes de Velneo
      • Instalación
      • Conexión con Velneo vServer
      • Cambiar el estilo de visualización
      • Ver u ocultar barras de herramientas
      • Mensajería interna entre usuarios
      • Soporte de alta resolución (HighDPI)
      • Carpetas de trabajo de los componentes de Velneo
      • Numeración de versiones de Velneo
      • Certificado de firma digital para componentes de Windows
    • Tipos de archivo generados por Velneo
  • Velneo vDevelop
    • ¿Qué es Velneo vDevelop?
    • Interfaz de Velneo vDevelop
    • Lista de teclas aceleradoras de Velneo vDevelop
    • Soluciones y proyectos
    • Control y edición de proyectos
    • Herencia
    • Inspectores
    • Proyectos objetos y editores
      • Objeto
      • De proyecto de datos
        • Indice complejo
        • Tabla
          • Actualización
          • Campo
          • Enlace
          • Indice
          • Plural
          • Traspaso de campo
          • Trigger
        • Tabla estática
        • Variable
      • De proyecto de aplicación
        • Acción
        • Alternador de lista
        • Arbol visor de tablas
        • Bloc de formularios
        • Casillero
        • Cesta
        • ComboView
        • Control SVG
        • Dispositivo serie
        • Formulario
          • Controles de visualización
            • Texto estático
            • Nombre de campo
            • Visor HTML
            • Dibujo
            • Imagen SVG
            • Caja de grupo
            • Menú arbolado
            • Barra de progreso
            • Reloj
            • Manómetro
            • Termómetro
          • Controles de edición
            • Caja de texto
            • Caja de texto enriquecido
            • Data catcher edit
            • Edición alfabética
            • Edición fecha
            • Edición fecha/hora
            • Edición fórmula
            • Edición hora
            • Edición numérica
            • Edición senda fichero
            • Edición senda directorio
            • Objeto dibujo
          • Controles de entrada
            • Botón
            • Botón de check
            • Botón de radio
            • Calendario
            • ComboBox
            • Deslizador
            • Dial
            • ListBox
            • Rueda
          • Contenedores
            • Área de scroll
            • Caja de formularios
            • Pila de formularios
            • Separador de formularios
            • Splitter
            • Vista de datos
          • Layout
          • Tree widget
          • Controles SVG
          • Fichas de extensión
        • Formulario QML
        • Gráfico
        • Imagen SVG
        • Impresora lógica
        • Informe
          • Editor de informes
          • Agrupamiento
          • Sección
          • Cálculo
        • Informe personalizable
          • Diseñando un informe personalizable básico
          • Diseño avanzado
          • Diseñando un informe personalizable
          • Añadiendo orígenes de datos
          • Añadiendo elementos al informe
          • Características avanzadas
          • Etiquetas
          • Asistente de scripts
          • Impresión de gráficos
          • Opciones html
        • ListView
        • Lista QML
        • Localizador
        • Marco
        • Menú
        • Multivista
        • Protocolo TCP-IP
        • Rejilla
          • Propiedades de columna
        • Rejilla avanzada
        • Toolbar
        • ViewFlow
        • Sub-objetos de vistas de datos
          • Conexión de evento
          • Drop
          • Inserción
          • Manejador de evento
      • Comunes a proyecto de datos y de aplicación
        • Búsqueda
        • Cola
        • Constante
        • Dibujo
        • Esquema de tablas
        • Fichero adjunto
        • Función
        • Librería externa
        • Lupa
        • Proceso
          • Comandos de base de datos
            • API
            • Bases de datos externas
            • Búsquedas
            • Campos (grupo de comandos)
            • Cestas
            • Fichas
            • Fichas seleccionadas
            • Listas
            • Tablas
            • Tubos
          • Básicos
            • Controles de flujo
            • Debug
            • Ejecución
            • Salida/retornos
            • Scripts (grupo de comandos)
            • Transacciones (comandos)
            • Variables
          • Comunicación
            • Internet
            • Protocolo TCP
            • Puerto serie
            • SDV
          • Interfaz
            • Acciones (comandos)
            • Control
            • Diálogos
            • Formularios - comandos
            • Localizadores
            • Objeto - grupo de comandos
            • Ventana principal
            • Vista de datos - comandos
          • Sistema
            • Comandos de Sistema
            • Configuración
            • Directorios
            • Ficheros
        • Tubo de ficha
        • Tubo de lista
        • Variable local
      • Editores
        • Asistente de fórmulas
          • Operadores
          • Funciones estándar
            • Funciones API
            • Funciones básicas
            • Funciones de cadenas
              • Expresiones regulares
            • Funciones científicas
            • Funciones de Cliente-servidor
            • Funciones de color
            • Funciones de códigos
            • Funciones de directorios
            • Funciones de fechas
            • Funciones de ficha en curso
            • Funciones de horas
            • Funciones de Internet
            • Funciones de juegos de caracteres
              • Codecs
            • Funciones numéricas
            • Funciones de sistema
            • Funciones de tiempo
            • Funciones trigonométricas
          • Funciones de dll
          • Funciones de proceso
          • Funciones de campo
          • Campos
          • Constantes
          • Variables globales
          • Variables locales
          • Variables del sistema
          • Verificador de fórmulas
          • Conversión automática de datos
          • Introducción de datos literales
          • Secuencias de escape en cadenas de caracteres
          • Composición de sendas en fórmulas
        • Editor de imágenes
        • Selector de fuentes
    • Scripts
      • Lenguajes
        • JavaScript
          • Procesos JavaScript
          • Fórmulas JavaScript
          • Clases
            • Funciones globales
            • Objetos
            • VAbstractBrowser
            • VAbstractDataView
            • VAbstractListDataView
            • VAdvandedGridListDataView
            • VAlternatorListDataView
            • VApp
            • VBoundFieldComboBox
            • VBoundFieldEdit
            • VBoundFieldEditBrowser
            • VBoundFieldListBox
            • VByteArray
            • VCheckBox
            • VClipboard
            • VClockWidget
            • VComboBox
            • VComboListDataView
            • VCoverFlowListDataView
            • VCWebView
            • VDataCatcherEdit
            • VDataCatcherEditBrowser
            • VDataViewDialog
            • VDateEdit
            • VDateEditBrowser
            • VDateTimeEdit
            • VDateTimeEditBrowser
            • VDial
            • VDir
            • VExtension
            • VFile
            • VFileInfo
            • VFilePathEditBrowser
            • VFinder
            • VFont
            • VFormBlockListDataView
            • VFormDataView
            • VFormulaEditBrowser
            • VGaugeWidget
            • VGridListDataView
            • VGroupBox
            • VImage
            • VImageEdit
            • VImageWidget
            • VInstancesList
            • VInstance
            • VInstances
            • VItemRegisterPattern
            • VLabel
            • VLineEdit
            • VLineEditBrowser
            • VListBox
            • VListDataView
            • VLogin
            • VMainWindow
            • VMdiView
            • VMimeData
            • VMultiDataView
            • VNumberSpinBox
            • VNumberSpinBoxBrowser
            • VObjectInfo
            • VObjectInstance
            • VProcess
            • VProgressBar
            • VProjectInfo
            • VPushButton
            • VQmlFormDataView
            • VQmlListDataView
            • VQmlListModel
            • VQuery
            • VRadioButton
            • VRegister
            • VRegisterList
            • VReportListDataView
            • VRequest
            • VResponse
            • VRoot
            • VScreen
            • VScrollArea
            • VServerAdmin
            • VSettings
            • VSlider
            • VSlotListDataView
            • VSolutionInfo
            • VSplitter
            • VSqlDatabase
            • VSSLCertificate
            • VSSLInfo
            • VSSLSessionCipher
            • VStackedWidget
            • VSvgButton
            • VSvgSlideSwitch
            • VSvgToggleSwitch
            • VSvgWidget
            • VSysInfo
            • VTableInfo
            • VTabWidget
            • VTextEdit
            • VTextFile
            • VThermometerWidget
            • VThumbWheel
            • VTimeEdit
            • VTimeEditBrowser
            • VToolBox
            • VTreeItem
            • VTreeItemRegister
            • VTreeListDataView
            • VTreeMenu
            • VTreeMultiTableListDataView
            • VTreeWidget
            • VUser
            • VUserGroup
            • VUserGroupList
            • VUserList
            • VXmlReader
            • VXmlWriter
            • Widget
            • XMLHttpRequest
        • QML
          • Tipos QML
          • Funciones específicas de QML
    • Depuración
      • Depuración de procesos de Velneo
      • Depuración de procesos JavaScript
      • Monitor de vClient
    • Extensiones de Velneo vDevelop
    • Acceso directo a una solución desde vDevelop
    • Buenas prácticas
      • Buenas prácticas de organización
        • Proyectos
        • Organización de carpetas
        • Proyecto de datos
        • Proyecto de aplicación
      • Buenas prácticas de codificación
        • Identificadores
        • Teclas aceleradoras
        • Documenta
        • Diseña los formularios como si no existiesen los layouts
      • Buenas prácticas de rendimiento
        • Arquitectura
          • Listas de registros
          • Lista de resultados de una búsqueda
          • Las cestas
          • Las variables globales
          • La caché de fichas
          • Programa en cloud
        • Base de datos
          • Campos
          • Indices
          • Actualizaciones
          • Eventos de tabla o triggers
          • Variables globales y constantes
          • Tablas en memoria vs tablas en disco
          • Optimizar migraciones de datos
          • Búsquedas en el servidor ¿Cuándo y Cómo?
          • Campos fórmula vs campos en disco
          • Indices condicionados vs búsquedas complejas
          • ¿Cuándo usar tablas de extensión?
          • Indices de trozos y palabras
          • ¿Cuándo usar cada tipo de campo alfa?
        • Formularios
          • Condiciones de visible y activo
          • Carga de subformularios en pestaña, caja o pila
        • Procesos y funciones y eventos
          • 1º, 2º, 3º y 4º plano ¿Cuándo usar cada uno?
          • Bloqueo blando vs bloqueo duro
          • Pasar información del cliente al servidor
          • ¿Cómo optimizar transacciones grandes?
          • ¿Cómo gestionar las transacciones?
          • Grabaciones optimizadas para el usuario
        • Carga de registros en objetos de lista
          • Rejillas
            • Campos punteros a singular
            • Totales
            • Condiciones de activo, visible y color en columna
            • Campos de tipo objeto
        • Conoce los límites
      • Imágenes
      • Buenas prácticas para el desarrollo en equipo
    • Análisis de bases de datos para aplicaciones de Velneo
      • Un centro de enseñanza
      • Facturas de un cliente
      • Repartos de obras de teatro
      • Galería de arte
      • Gestión de un colegio
      • Instalación de lunas para vehículos
      • Libros y autores
      • Tienda de discos
      • Últimos pedidos de un proveedor
      • Existencias por almacén y precios por cliente
      • Generación de tickets para un quiosco
      • Navegación por facturas
  • Velneo vAdmin
    • ¿Qué es Velneo vAdmin?
    • Gestión de usuarios
    • Gestión de aplicaciones
      • Soluciones
      • Instancias
      • Disco
    • Monitorización
      • Lista de comandos
    • Tareas
    • Acceso directo
  • Velneo vClient
    • ¿Qué es Velneo vClient?
    • Movilidad
    • Funcionalidades de Velneo vClient
      • Accesos directos y VRL
      • Cambiar idioma
      • Panel de procesos en 2º plano
      • Manejo de rejillas
      • Uso de la rejilla avanzada
      • Manejo de cestas
      • Refrescos
      • Caché local
      • Edición de campos enlazados a maestro
      • Edición de campos de tipo fecha
      • Capturar imagen desde una cámara
      • Asignar impresoras lógicas
      • Actualización automática
      • Personalización de la ventana de conexión de Velneo vClient
      • Instalador personalizado de Velneo vClient
      • Ordenación de listas
  • Velneo vServer
    • ¿Qué es Velneo vServer?
    • Instalación y configuración
      • Activación de la licencia
      • Línea de comandos de Velneo vServer
      • Parámetros configurables de Velneo vServer
      • Estructura de directorios
    • Iniciar Velneo vServer
    • Funcionalidades
      • Protocolo VATP
      • Protocolo VATPS
      • Multi-hilo
      • Integridad referencial
      • Refrescos terciarios
      • Sistema transaccional
      • Sistema de bloqueos
      • Tecnología bigkey
      • Hilo de control
    • vPacker
  • Velneo vInstallBuilder
    • ¿Qué es Velneo vInstallBuilder?
    • Configurar una instalación
    • Probar una instalación
    • Crear el instalable
    • Accesos directos
  • Velneo vModApache
    • ¿Qué es Velneo vModApache?
    • Instalación y configuración
    • Nomenclatura de objetos en urls
    • Uso de ficheros adjuntos
    • Caché local de Velneo vModApache
  • Velneo vDataClient
    • ¿Qué es Velneo vDataClient?
    • Iniciar Velneo vDataClient
    • Interfaz de Velneo vDataClient
    • Procesos
    • Utilidades
    • Acceso directo a una instancia de datos
  • Velneo vTranslator
    • ¿Qué es Velneo vTranslator?
    • Importación y exportación basada en XLIFF
    • Acceso directo a una solución
  • Velneo ODBC Driver
    • ¿Qué es velneo ODBC Driver?
    • Referencia de comandos SQL
  • Velneo vVersion
    • ¿Qué es Velneo vVersion?
  • Velneo vERP
    • ¿Qué es Velneo vERP?
    • Manual del programador
    • Documentación del ApiRest
    • Novedades de la versión
  • Velneo vTutor
    • ¿Qué es vTutor?
    • Tutores de objetos básicos
      • Tutor de árboles visores de tablas arboladas
      • Tutor de búsquedas
      • Tutor de cestas
      • Tutor de formularios
      • Tutor de informes
      • Tutor de localizador básico
      • Tutor de marcos
      • Tutor de rejillas
      • Tutor de rejillas avanzadas
    • Tutores de objetos avanzados
      • Tutor de alternadores de lista
      • Tutor de comboview
      • Tutor de drag and drop
      • Tutor de eventos
      • Tutor de grabación de fichas
      • Tutor de gráficos
      • Tutor de impresión de informes
      • Tutor de lupas
      • Tutor de protocolo TCP/IP
    • Tutores de controles
      • Tutor de botones de menú
      • Tutor de controles SVG
      • Tutor de edición numérica
      • Tutor de visor html dinámico
      • Tutor de vistas de datos de lista
    • Tutores de procesos y manejadores de evento avanzados
      • Tutor de comandos de interfaz y acciones
      • Tutor de importación y exportación de ficheros ASCII
      • Tutor de portapapeles
      • Tutor de procesos
      • Tutor de SDV
    • Tutores de scripts
      • QML: hola mundo
      • QML: tutor básico
      • QML: tutor de vistas
      • Tutor de XMLHttpRequest (webServices)
  • Velneo cloud
    • ¿Qué es Velneo Cloud?
    • Panel de control vServer cloud
      • URC
      • vServer
      • Apache
      • SFTP
      • Usuarios
    • Copias de seguridad
    • Velneo cloud API
      • Uso de Velneo cloud API
    • Explorador de archivos cloud sFTP
    • TCP en Velneo cloud
    • Velneo vModApache en cloud
    • SLA
    • Hora de los servidores en el cloud de Velneo
    • ¿Qué puedo hacer si tengo una incidencia en mi servidor cloud?
Con tecnología de GitBook
En esta página
  • Contenido
  • Comandos de protocolo TCP
  • Protocolo TCP: ¿Está iniciado el servicio?
  • Protocolo TCP: ejecutar función cliente
  • Protocolo TCP: enviar buffer
  • Protocolo TCP: enviar byte
  • Protocolo TCP: enviar entero 16 bits
  • Protocolo TCP: enviar entero 32 bits
  • Protocolo TCP: enviar entero 64 bits
  • Protocolo TCP: enviar fichero
  • Protocolo TCP: enviar línea
  • Protocolo TCP: iniciar servicio
  • Protocolo TCP: recibir buffer
  • Protocolo TCP: recibir byte
  • Protocolo TCP: recibir entero 16 bits
  • Protocolo TCP: recibir entero 32 bits
  • Protocolo TCP: recibir entero 64 bits
  • Protocolo TCP: recibir fichero
  • Protocolo TCP: recibir hasta carácter marca
  • Protocolo TCP: recibir línea
  • Protocolo TCP: rerminar servicio
  • Protocolo TCP: terminar todos los servicios

¿Te fue útil?

  1. Velneo vDevelop
  2. Proyectos objetos y editores
  3. Comunes a proyecto de datos y de aplicación
  4. Proceso
  5. Comunicación

Protocolo TCP

Última actualización hace 4 años

¿Te fue útil?

Contenido

Comandos de protocolo TCP

Las funciones que lo componen pueden agruparse en comandos de protocolos y comandos de gestión de protocolos.

Los comandos de protocolos son comandos que usaremos para programar los intercomunicadores (sub objetos) de un objeto protocolo TCP/IP y son:

Los comandos de gestión de protocolos son comandos que nos permiten gestionar los protocolos TCP y que podrán ser usados en cualquier procesos o función, pero no en los intercomunicadores de un objeto Protocolo TCP/IP. Son:

Protocolo TCP: ¿Está iniciado el servicio?

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Identificador del protocolo TCP/IP

Identificador de variable local booleana de retorno de Ok

Identificador de variable local array de puertos (Opcional)

Variable de array local del proceso de tipo numérico o alfabético donde se retornará el puerto o puertos donde el servicio haya sido iniciado.

Funcionalidad

Comprueba si está iniciado el servicio del protocolo TCP/IP declarado en sus parámetros en la máquina donde el proceso sea ejecutado, pudiendo conocer además, el puerto o los puertos en el que se encuentra iniciado.

Ejemplo

Comprobamos si está iniciado el servicio ENV_REC_FICHERO

Protocolo TCP: ¿Esta iniciado el servicio? ( ENV_REC_FICHERO@ejemplo, OK_INICIADO, PUERTO )
If ( OK_INICIADO )
    Mensaje ( "El servicio está a la escucha en el puerto " + PUERTO[0], Información, ,  )
Else
    Mensaje ( "El servicio no está iniciado", Información, ,  )

Protocolo TCP: ejecutar función cliente

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Identificador del protocolo TCP

En este parámetro se seleccionará un objeto protocolo TCP/IP declarado en el proyecto o en un proyecto heredado, cuya función cliente desea ejecutarse.

Fórmula de dominio o IP del servidor

Si queremos hacer uso de un número de puerto distinto al configurado en el objeto protocolo TCP/IP, incluiremos el nuevo número de puerto en este parámetro, precedido por dos puntos (:). Ejemplo:

“midominio.com” (hará uso del puerto establecido en las propiedades del objeto protocolo TCP). “midominio.com:5001” (hará uso del puerto 5001, independientemente del número de puerto que tengamos configurado en el objeto protocolo TCP/IP).

Para que sea funcional el cambio de puerto, es necesario que el objeto protocolo TCP/IP tenga configurado un puerto por defecto. Si no, aunque especifiquemos un puerto en este parámetro, no hará uso de él.

Fórmula de los parámetros (opcional)

Identificador de variable local booleana de retorno de ok (opcional): en este parámetro podremos declarar una variable local.

Funcionalidad

Este comando ejecuta el sub-objeto función. Es decir, ejecuta la parte cliente de un protocolo TCP/IP declarado en el proyecto.

Ejemplo

Ejecutamos la función cliente del protocolo ENV_RC_FICHERO para el envío del fichero seleccionado.

Ventana de selección de fichero ( FICHERO, OK_ACEPTADO, "*.*", "" )
If ( OK_ACEPTADO )
    Protocolo TCP: ejecutar función cliente ( ENV_REC_FICHERO@ejemplo, $ENV_REC_FICHERO_IP@ejemplo, FICHERO, OK_CONNECT )
    If ( !OK_CONNECT )
        Mensaje ( "Conexión fallida", Información, ,  )

Protocolo TCP: enviar buffer

Comando de instrucción del grupo Protocolo TCP envía un buffer de datos.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Fórmula de dato

Expresión de tipo fórmula con el buffer a enviar. Para su especificación podremos hacer uso del asistente para edición de fórmulas.

Fórmula de número de bytes

Expresión de tipo fórmula con el número de bytes del buffer a enviar. Para su especificación podremos hacer uso del asistente para edición de fórmulas.

Fórmula de tiempo en espera en segundos

Expresión de tipo fórmula con el tiempo, en segundos, que se va a esperar para enviar el buffer. Para su especificación podremos hacer uso del asistente para edición de fórmulas.

Funcionalidad

En un proceso de cliente o de servidor de un protocolo TCP/IP este comando de instrucción envía un buffer de datos. Este comando de instrucción solamente puede ser usado en los procesos (intercomunicadores) de un objeto Protocolo TCP/IP.

Comentarios

Ejemplo

Enviar la variable BUFFER esperando 10 segundos para obtener respuesta.

Rem ( Se envía el buffer )
Protocolo TCP: enviar buffer ( BUFFER, NUM_BYTES, 10 )

Protocolo TCP: enviar byte

Comando de instrucción de proceso que en un proceso intercomunicador de un objeto Protocolo TCP/IP permite enviar un byte de datos.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Fórmula valor del byte (0-255)

Expresión fórmula donde se especificará el valor numérico del byte a enviar, que será uno comprendido entre 0 y 255. Para facilitar su especificación podremos hacer uso del asistente para la edición de fórmulas.

Fórmula de tiempo de espera en segundos

Expresión fórmula donde se especificará el tiempo, en segundos, que se va a estar a la escucha para enviar el byte.

Funcionalidad

Comando de instrucción que en un proceso intercomunicador de un objeto Protocolo TCP/IP permite enviar un byte de datos.

Comentarios

Ejemplo

Enviamos el carácter recibido en la variable CADENA como parámetro en el intercomunicador cliente al servidor.

Rem ( Proceso de cliente )
Rem ( Se obtiene el código ASCII del carácter recibido )
Set ( BYTE, stringToNumber(getAsciiCharCode(left(CADENA, 1), "ISO-8859-1")) )
Libre
Rem ( El número obtenido es enviado al servidor )
Protocolo TCP: enviar byte ( BYTE, 10 )

Protocolo TCP: enviar entero 16 bits

Comando de instrucción de proceso que en un proceso intercomunicador de un objeto Protocolo TCP/IP permite enviar un entero de 16 bits.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Fórmula de valor del entero 16 bits (0-65535)

Expresión fórmula donde se especificará el entero de 16 bits a enviar, que deberá ser un número comprendido entre 0 y 65535.

Orden de bytes

Permite especificar el tipo de ordenación de los bytes a enviar, que podrá ser o Little Endian o Big Endian.

Fórmula de tiempo de espera en segundos

Expresión fórmula donde se especificará el tiempo, en segundos, que se esperará para enviar el entero de 16 bits.

Funcionalidad

Comando de instrucción que en un proceso intercomunicador de un objeto Protocolo TCP/IP permite enviar un entero de 16 bits.

Comentarios

Al tratarse de un entero de 16 bits deberá ser uno comprendido entre 0 y 65535.

Dependiendo del sistema operativo en que se trabaje, hay que considerar el orden de los bytes en los tipos de datos numéricos que utilizan varios bytes. Los dos formatos existentes son Little Endian y Big Endian.

Little Endian significa que el byte de menor peso se almacena en la dirección más baja de memoria y el byte de mayor peso en la más alta.

Los procesadores Intel (usados en la mayoría de los ordenadores personales) y los DEC Alpha RISC son Little Endian.

En el formato Big Endian el byte de mayor peso se almacena en la dirección más baja de memoria y el byte de menor peso en la dirección más alta.

La mayoría de los sistemas UNIX, el protocolo de Internet TCP, los procesadores Motorola 680×0 (y, por lo tanto, los Macintosh), Hewlett-Packard PA-RISC, y Sun SuperSPARC son “Big Endian”. El MIPS de Silicon Graphics y el procesador IBM/Motorola PowerPC son capaces de entender ambos sistemas, por lo que se dice que son “Big Endian”.

Ejemplo

Enviamos el entero de 16 bits recibido en la variable ENTERO como parámetro en el intercomunicador cliente al servidor, usando el orden de bytes LitteEndian con un tiempo de espera de 10 segundos.

Rem ( Proceso de cliente )
Protocolo TCP: enviar entero 16 bits ( ENTERO, LittleEndian, 10 )

Protocolo TCP: enviar entero 32 bits

Comando de instrucción del grupo Protocolo TCP permite enviar un entero de 32 bits.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Fórmula de valor del entero 32 bits (0-4294967295)

Expresión fórmula donde se especificará el entero de 32 bits a enviar, que deberá ser un número comprendido entre 0 y 4294967295.

Orden de bytes

Permite especificar el tipo de ordenación de los bytes a enviar, que podrá ser o Little Endian o Big Endian.

Fórmula de tiempo de espera en segundos

Expresión fórmula donde se especificará el tiempo, en segundos, que se esperará para enviar el entero de 32 bits.

Funcionalidad

Comando de instrucción que en un proceso intercomunicador de un objeto Protocolo TCP/IP permite enviar un entero de 32 bits.

Comentarios

Al tratarse de un entero de 32 bits deberá ser uno comprendido entre 0 y 4294967295.

Dependiendo del sistema operativo en que se trabaje, hay que considerar el orden de los bytes en los tipos de datos numéricos que utilizan varios bytes. Los dos formatos existentes son Little Endian y Big Endian.

Little Endian significa que el byte de menor peso se almacena en la dirección más baja de memoria y el byte de mayor peso en la más alta.

Los procesadores Intel (usados en la mayoría de los ordenadores personales) y los DEC Alpha RISC son Little Endian.

En el formato Big Endian el byte de mayor peso se almacena en la dirección más baja de memoria y el byte de menor peso en la dirección más alta.

La mayoría de los sistemas UNIX, el protocolo de Internet TCP, los procesadores Motorola 680×0 (y, por lo tanto, los Macintosh), Hewlett-Packard PA-RISC, y Sun SuperSPARC son “Big Endian”. El MIPS de Silicon Graphics y el procesador IBM/Motorola PowerPC son capaces de entender ambos sistemas, por lo que se dice que son “bi-endian”.

Ejemplo

Enviamos el entero de 32 bits recibido en la variable ENTERO como parámetro en el intercomunicador cliente al servidor, usando el orden de bytes BigEndian con un tiempo de espera de 10 segundos.

Rem ( Proceso de cliente )
Protocolo TCP: enviar entero 32 bits ( ENTERO, BigEndian, 10 )

Protocolo TCP: enviar entero 64 bits

Comando de instrucción de proceso que en un proceso intercomunicador de un objeto Protocolo TCP/IP permite enviar un entero de 64 bits.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Fórmula de valor del entero 64 bits (0-18446744073709551616)

Expresión fórmula donde se especificará el entero de 32 bits a enviar, que deberá ser un número comprendido entre 0 y 18446744073709551616.

Orden de bytes

Permite especificar el tipo de ordenación de los bytes a enviar, que podrá ser o Little Endian o Big Endian.

Fórmula de tiempo de espera en segundos

Expresión fórmula donde se especificará el tiempo, en segundos, que se esperará para enviar el entero de 64 bits.

Funcionalidad

Comando de instrucción que en un proceso intercomunicador de un objeto Protocolo TCP/IP permite enviar un entero de 64 bits.

Comentarios

Al tratarse de un entero de 64 bits deberá ser uno comprendido entre 0 y 18446744073709551616.

Dependiendo del sistema operativo en que se trabaje, hay que considerar el orden de los bytes en los tipos de datos numéricos que utilizan varios bytes. Los dos formatos existentes son Little Endian y Big Endian.

Little Endian significa que el byte de menor peso se almacena en la dirección más baja de memoria y el byte de mayor peso en la más alta.

Los procesadores Intel (usados en la mayoría de los ordenadores personales) y los DEC Alpha RISC son Little Endian.

En el formato Big Endian el byte de mayor peso se almacena en la dirección más baja de memoria y el byte de menor peso en la dirección más alta.

La mayoría de los sistemas UNIX, el protocolo de Internet TCP, los procesadores Motorola 680×0 (y, por lo tanto, los Macintosh), Hewlett-Packard PA-RISC, y Sun SuperSPARC son “Big Endian”. El MIPS de Silicon Graphics y el procesador IBM/Motorola PowerPC son capaces de entender ambos sistemas, por lo que se dice que son “bi-endian”.

Ejemplo

Enviamos el entero de 64 bits recibido en la variable ENTERO como parámetro en el intercomunicador cliente al servidor, usando el orden de bytes BigEndian con un tiempo de espera de 10 segundos.

Rem ( Proceso de cliente )
Protocolo TCP: enviar entero 64 bits ( ENTERO, BigEndian, 10 )

Protocolo TCP: enviar fichero

Comando de instrucción de proceso que en un proceso intercomunicador de un objeto Protocolo TCP/IP envía un fichero.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Fórmula de senda

Fórmula de tiempo en espera en segundos

Expresión de tipo fórmula con el tiempo, en segundos, que se va a esperar para enviar el fichero. Para su especificación podremos hacer uso del asistente para edición de fórmulas.

Funcionalidad

En un proceso de cliente o de servidor de un protocolo TCP/IP este comando de instrucción permite enviar un fichero. Solamente puede ser usado en un proceso (intercomunicador) de un objeto Protocolo TCP/IP.

Comentarios

Se trata un comando propio de Velneo y no de un comando estándar TCP, por lo que solamente podrá ser usado para el intercambio de ficheros entre aplicaciones de Velneo.

El protocolo TCP/IP para enviar y recibir fichero se compone de la siguiente forma:

Buffer con tamaño del fichero en 8 bytes unsigned (64 bits). Big Indian (importante: tipo Unix, no Windows).

Buffer con fichero.

Ejemplo

Enviamos el fichero recibido en la variable FICHERO como parámetro en el intercomunicador cliente al servidor, enviando previamente el nombre del fichero y la longitud en BYTES del mismo.

Rem ( Proceso de cliente )
Rem ( Obtenemos el tamaño del fichero a enviar )
Get atributos del fichero ( FICHERO, FECHA, HORA, BYTES )
Libre
Rem ( Se envía al servidor una línea con el nombre del fichero, un carácter de marca y su longitud )
Protocolo TCP: enviar línea ( getPathFileName(FICHERO) + "|" + BYTES, 10 )
Libre
Rem ( Enviamos el fichero al servidor )
Protocolo TCP: enviar fichero ( FICHERO, 10 )

Protocolo TCP: enviar línea

Comando de instrucción del grupo Protocolo TCP.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Fórmula de dato

Expresión de tipo fórmula con los bytes de datos a enviar. Para su especificación podremos hacer uso del asistente para edición de fórmulas.

Fórmula de tiempo en espera en segundos

Expresión de tipo fórmula con el tiempo, en segundos, que se va a esperar para enviar la línea. Para su especificación podremos hacer uso del asistente para edición de fórmulas.

Funcionalidad

En un proceso de cliente o de servidor de un protocolo TCP/IP este comando de instrucción permite enviar una línea de datos. Este comando de instrucción solamente podrá ser usado en procesos intercomunicadores de un objeto Protocolo TCP/IP.

Comentarios

El carácter de fin de línea será añadido (\n) automáticamente por la función al final de la cadena enviada.

Ejemplo

Enviamos la línea recibida en la variable LINEA como parámetro en el intercomunicador cliente al servidor, usando con un tiempo de espera de 10 segundos.

Rem ( Proceso de cliente )
Protocolo TCP: enviar línea ( LINEA, 10 )

Protocolo TCP: iniciar servicio

Comando de instrucción de proceso que inicia un servicio TCP.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Identificador del protocolo TCP/IP

En este parámetro tendremos que seleccionar un objeto Protocolo TCP/IP cuyo servicio queremos iniciar.

Identificador de la variable local booleana de retorno de ok (Opcional)

Funcionalidad

Este comando de instrucción de proceso permite iniciar un servicio TCP.

Comentarios

El objeto protocolo TCP/IP tendrá que tener programado el proceso de servidor en el sub objeto Intercomunicador.

Cuando la máquina donde se haya iniciado el servicio reciba una petición un cliente TCP, se ejecutará automáticamente el proceso programado en el intercomunicador de servidor.

Recordar que el puerto de escucha para ese servicio se define en el propio objeto Protocolo TCP/IP.

El arranque de objetos protocolo en 2º y 3º plano es asíncrono, ya que es el hilo principal el que arranca el servicio.

Por tanto, este comando de instrucción de proceso devolverá siempre 1, aunque no pueda arrancar el servicio, debido a que el puerto esté ocupado o no se encuentre en el rango permitido.

Ejemplo

Comprobamos en una función el estado actual de un servicio y, en caso de que no se encuentre activo lo iniciamos retornando en la variable OK_INICIADO el valor del estado.

Rem ( Si el servicio ya se encuentra iniciado no haremos nada, si no lo está lo iniciaremos )
Protocolo TCP: ¿Esta iniciado el servicio? ( ENV_REC_LINEA@ejemplo, OK_INICIADO,  )
If ( !OK_INICIADO )
    Protocolo TCP: iniciar servicio ( ENV_REC_LINEA@ejemplo, OK_INICIADO )
Libre
Rem ( Retornamos el estado del servicio tcp )
Set dato de retorno ( OK_INICIADO )

Protocolo TCP: recibir buffer

Comando de instrucción de proceso que en un proceso intercomunicador de un objeto Protocolo TCP/IP permite recibir un buffer de datos.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Identificador de la variable local alfabética de retorno

Variable local del objeto, de tipo alfabético, en la que se retornará el buffer recibido.

Fórmula de número de bytes

Expresión de tipo fórmula con el tamaño en bytes del buffer a recibir. Para su especificación podremos hacer uso del asistente para edición de fórmulas.

Fórmula de tiempo en espera en segundos

Expresión de tipo fórmula con el tiempo, en segundos, que se va a esperar para recibir el buffer. Para su especificación podremos hacer uso del asistente para edición de fórmulas.

Funcionalidad

En un proceso de un intercomunicador de un objeto Protocolo TCP/IP este comando de instrucción permite recibir un buffer de datos. Solamente podrá ser usado en un proceso (intercomunicador) de cliente o de servidor de un objeto Protocolo TCP/IP.

Comentarios

Dado que este comando de instrucción requiere conocer el número de bytes a recibir, en el intercomunicador se debería haber recibido antes información sobre el tamaño del buffer a recibir. Es decir, la secuencia del protocolo debería ser:

(Cliente) – Envío de información sobre nº de bytes (Servidor) – Recepción de información sobre nº de bytes (Cliente) – Envío de buffer (Servidor) – Recepción de buffer

Ejemplo

En el proceso servidor del intercomunicador recibimos el tamaño y buffer que recibirá el servidor. Posteriormente se da de alta un registro en la tabla de mensajes dando valores a los campos especificados en el ejemplo.

Rem ( Proceso de servidor )
Rem ( Recibimos la información sobre el tamaño del buffer )
Protocolo TCP: recibir línea ( TAMAÑO, 10 )
Rem ( Recibimos el buffer )
Protocolo TCP: recibir buffer ( BUFFER, TAMAÑO, 10 )
Crear nueva ficha en memoria ( mensaje, MENSAJES@ejemplo )
    Modificar campo ( NAME, "Buffer recibido: " + BUFFER + ". Tamaño = " + TAMAÑO )
Alta de ficha ( mensaje )
    Libre

Protocolo TCP: recibir byte

Comando de instrucción de proceso que en un proceso intercomunicador de un objeto Protocolo TCP/IP permite recibir un byte de datos.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Identificador de variable local numérica de retorno

Variable local del objeto de tipo numérico donde se retornará el byte recibido.

Fórmula de tiempo de espera en segundos

Expresión fórmula donde se especificará el tiempo, en segundos, que se va a estar a la escucha para recibir el byte.

Funcionalidad

Comando de instrucción que en un proceso intercomunicador de un objeto Protocolo TCP/IP permite recibir un byte de datos.

Comentarios

El byte recibido será un número comprendido entre 0 y 255. Si deseamos obtener el carácter ASCII correspondiente a ese byte podremos usar la función de fórmulas getAsciiChar.

Ejemplo

En el proceso servidor del intercomunicador recibimos un byte con un tiempo de espera de 5 segundos. Posteriormente se da de alta un registro en la tabla de mensajes dando valores a los campos especificados en el ejemplo agregando la ficha a una cesta usada para mostrar los mensajes de la tabla MENSAJES.

Rem ( Proceso de servidor )
Rem ( Se recibe el byte enviado por el cliente )
Protocolo TCP: recibir byte ( BYTE, 5 )
Rem ( Se genera el registro en la tabla de mensajes )
Crear nueva ficha en memoria ( mensaje, MENSAJES@ejemplo )
    Modificar campo ( NAME, "Byte recibido: " + getAsciiChar(BYTE, "ISO-8859-1") )
Alta de ficha ( mensaje )
    Cesta: agregar ficha a la cesta ( MENSAJES@Tutor TCP )
Rem ( Invertir el orden de la cesta para que el último mensaje sea el primer registro )
Cesta: procesar ( MENSAJES@Tutor TCP )
    Invertir lista

Protocolo TCP: recibir entero 16 bits

Comando de instrucción de proceso que en un proceso intercomunicador de un objeto Protocolo TCP/IP permite recibir un entero de 16 bits.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Identificador de la variable local numérica de retorno

Variable local del objeto, de tipo numérico, donde se retornará el entero de 16 bits recibido.

Orden de bytes

Permite especificar el tipo de ordenación de los bytes a recibir, que podrá ser o Little Endian o Big Endian.

Fórmula de tiempo de espera en segundos

Expresión fórmula donde se especificará el tiempo, en segundos, que se va a estar a la escucha para recibir el entero de 16 bits.

Funcionalidad

Comando de instrucción que en un proceso intercomunicador de un objeto Protocolo TCP/IP permite recibir un entero de 16 bits.

Comentarios

Al tratarse de un entero de 16 bits deberá ser uno comprendido entre 0 y 65535.

Dependiendo del sistema operativo en que se trabaje, hay que considerar el orden de los bytes en los tipos de datos numéricos que utilizan varios bytes. Los dos formatos existentes son Little Endian y Big Endian.

Little Endian significa que el byte de menor peso se almacena en la dirección más baja de memoria y el byte de mayor peso en la más alta.

Los procesadores Intel (usados en la mayoría de los ordenadores personales) y los DEC Alpha RISC son Little Endian.

En el formato Big Endian el byte de mayor peso se almacena en la dirección más baja de memoria y el byte de menor peso en la dirección más alta.

La mayoría de los sistemas UNIX, el protocolo de Internet TCP, los procesadores Motorola 680×0 (y, por lo tanto, los Macintosh), Hewlett-Packard PA-RISC, y Sun SuperSPARC son “Big Endian”. El MIPS de Silicon Graphics y el procesador IBM/Motorola PowerPC son capaces de entender ambos sistemas, por lo que se dice que son “bi-endian”.

Ejemplo

Recibimos un entero de 16 bits en la variable ENTERO como parámetro en el intercomunicador servidor, usando el orden de bytes LitteEndian con un tiempo de espera de 10 segundos.

Rem ( Proceso de servidor )
Rem ( Recepción del dato enviado por el cliente )
Protocolo TCP: recibir entero 16 bits ( ENTERO, LittleEndian, 10 )

Protocolo TCP: recibir entero 32 bits

Comando de instrucción de proceso que en un proceso intercomunicador de un objeto Protocolo TCP/IP permite recibir un entero de 32 bits.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Identificador de la variable local numérica de retorno

Variable local del objeto, de tipo numérico, donde se retornará el entero de 32 bits recibido.

Orden de bytes

Permite especificar el tipo de ordenación de los bytes a recibir, que podrá ser o Little Endian o Big Endian.

Fórmula de tiempo de espera en segundos

Expresión fórmula donde se especificará el tiempo, en segundos, que se va a estar a la escucha para recibir el entero de 32 bits.

Funcionalidad

Comando de instrucción que en un proceso intercomunicador de un objeto Protocolo TCP/IP permite recibir un entero de 32 bits.

Comentarios

Al tratarse de un entero de 16 bits deberá ser uno comprendido entre 0 y 4294967295.

Dependiendo del sistema operativo en que se trabaje, hay que considerar el orden de los bytes en los tipos de datos numéricos que utilizan varios bytes. Los dos formatos existentes son Little Endian y Big Endian.

Little Endian significa que el byte de menor peso se almacena en la dirección más baja de memoria y el byte de mayor peso en la más alta.

Los procesadores Intel (usados en la mayoría de los ordenadores personales) y los DEC Alpha RISC son Little Endian.

En el formato Big Endian el byte de mayor peso se almacena en la dirección más baja de memoria y el byte de menor peso en la dirección más alta.

La mayoría de los sistemas UNIX, el protocolo de Internet TCP, los procesadores Motorola 680×0 (y, por lo tanto, los Macintosh), Hewlett-Packard PA-RISC, y Sun SuperSPARC son “Big Endian”. El MIPS de Silicon Graphics y el procesador IBM/Motorola PowerPC son capaces de entender ambos sistemas, por lo que se dice que son “bi-endian”.

Ejemplo

Recibimos un entero de 32 bits en la variable ENTERO como parámetro en el intercomunicador servidor, usando el orden de bytes BigEndian con un tiempo de espera de 10 segundos.

Rem ( Proceso de servidor )
Rem ( Recepción del dato enviado por el cliente )
Protocolo TCP: recibir entero 32 bits ( ENTERO, BigEndian, 10 )

Protocolo TCP: recibir entero 64 bits

Comando de instrucción del grupo Protocolo TCP permite recibir un entero de 64 bits.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Identificador de la variable local numérica de retorno

Variable local del objeto, de tipo numérico, donde se retornará el entero de 64 bits recibido.

Orden de bytes

Permite especificar el tipo de ordenación de los bytes a recibir, que podrá ser o Little Endian o Big Endian.

Fórmula de tiempo de espera en segundos

Expresión fórmula donde se especificará el tiempo, en segundos, que se va a estar a la escucha para recibir el entero de 64 bits.

Funcionalidad

Comando de instrucción que en un proceso intercomunicador de un objeto Protocolo TCP/IP permite recibir un entero de 64 bits.

Comentarios

Al tratarse de un entero de 16 bits deberá ser uno comprendido entre 0 y 18446744073709551616.

Dependiendo del sistema operativo en que se trabaje, hay que considerar el orden de los bytes en los tipos de datos numéricos que utilizan varios bytes. Los dos formatos existentes son Little Endian y Big Endian.

Little Endian significa que el byte de menor peso se almacena en la dirección más baja de memoria y el byte de mayor peso en la más alta.

Los procesadores Intel (usados en la mayoría de los ordenadores personales) y los DEC Alpha RISC son Little Endian.

En el formato Big Endian el byte de mayor peso se almacena en la dirección más baja de memoria y el byte de menor peso en la dirección más alta.

La mayoría de los sistemas UNIX, el protocolo de Internet TCP, los procesadores Motorola 680×0 (y, por lo tanto, los Macintosh), Hewlett-Packard PA-RISC, y Sun SuperSPARC son “Big Endian”. El MIPS de Silicon Graphics y el procesador IBM/Motorola PowerPC son capaces de entender ambos sistemas, por lo que se dice que son “bi-endian”.

Ejemplo

Recibimos un entero de 64 bits en la variable ENTERO como parámetro en el intercomunicador servidor, usando el orden de bytes BigEndian con un tiempo de espera de 10 segundos.

Rem ( Proceso de servidor )
Rem ( Recepción del dato enviado por el cliente )
Protocolo TCP: recibir entero 64 bits ( ENTERO, BigEndian, 10 )

Protocolo TCP: recibir fichero

Comando de instrucción de proceso que en un proceso intercomunicador de un objeto Protocolo TCP/IP recibe un fichero.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Fórmula de senda

Expresión de tipo fórmula con la senda completa (senda, nombre y extensión) del fichero a guardar. Para su especificación podremos hacer uso del asistente para edición de fórmulas.

Fórmula de tiempo en espera en segundos

Expresión de tipo fórmula con el tiempo, en segundos, que se va a esperar para recibir el fichero. Para su especificación podremos hacer uso del asistente para edición de fórmulas.

Funcionalidad

En un proceso de cliente o de servidor de un de un protocolo TCP/IP este comando de instrucción recibe un fichero de otro servidor o cliente TCP. Solamente puede ser usado en procesos (intercomunicadores) de un objeto objeto protocolo TCP/IP.

Comentarios

Antes de recibir el fichero es necesario conocer tanto el nombre del fichero a recibir como su tamaño en bytes, por tanto, en el protocolo se debería obtener ambos datos antes de la recepción del fichero. La secuencia, por ejemplo, podría ser:

Cliente

Servidor

Envío de nombre y extensión del fichero.

Recepción de nombre y extensión del fichero.

Envío del tamaño en bytes del fichero.

Recepción del tamaño en bytes del fichero.

Envío del fichero.

Recepción del fichero.

Se trata un comando propio de Velneo y no de un comando estándar TCP, pero si se quiere enviar a un servicio TCP de Velneo Vt ficheros desde otras plataformas, debemos tener en cuenta que Velneo espera el tamaño del fichero en formato big indian y 64 bits seguido del fichero en binario. A continuación ponemos un ejemplo para hacerlo desde Python y un enlace de cómo hacerlo desde PHP:

`#!/usr/bin/python

-- coding: UTF-8 --`

`import socket import sys from struct import *

Connect to the host

s.connect( ( host, port ) )

Fichero leído en modo binario

sendfile = open(‘logo.png’, ‘rb’)

Leemos el fichero

data = sendfile.read()

Convertimos el tamaño del fichero a hex con ordenación de bytes tipo Big Indian y 64 bits

En los comentarios de esa página se indica como hacerlo para 64 bits (en dos trozos de 32)

a=pack(“>Q”, 44797)

Enviamos el tamaño seguido del fichero

s.sendall(a+data) s.close()`

Ejemplo

Guardamos un fichero enviado por el intercomunicador cliente conociendo previamente el nombre del fichero que va a recibir el servidor. Recibimos el tamaño del fichero y posteriormente recibimos el fichero.

Rem ( Proceso de servidor )
Rem ( De la línea enviada por el cliente leemos hasta el carácter de marca, para extraer el nombre del fichero )
Protocolo TCP: recibir hasta carácter marca ( FICHERO, "|", 10 )
Rem ( Quitamos el carácter de marca al nombre del fichero )
Set ( FICHERO, left(FICHERO, len(FICHERO)-1) )
Rem ( Recepción del tamaño del fichero (dato que va a continuación del carácter de marca) )
Protocolo TCP: recibir línea ( TAMAÑO, 10 )
Rem ( Recibir el fichero )
Protocolo TCP: recibir fichero ( tempPath() + "/" + FICHERO, 60 )

Protocolo TCP: recibir hasta carácter marca

Comando de instrucción de proceso que en un proceso intercomunicador de un objeto Protocolo TCP/IP recibe bytes de datos hasta una marca determinada.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Identificador de la variable local alfabética de retorno

En este parámetro especificaremos la variable local donde se retornarán los bytes recibidos.

Fórmula de carácter marca

Expresión fórmula donde se especificará cuál es el carácter de marca. Para facilitar su especificación podremos hacer uso del asistente para la creación de fórmulas. En este parámetro se podrá especificar más de un carácter. El carácter o los caracteres definidos en el mismo serán excluidos de la trama recibida.

Fórmula de tiempo de espera en segundos

Expresión fórmula donde se especificará el tiempo, en segundos, que se va a estar a la escucha para recibir los datos.

Funcionalidad

Este comando permite, en un proceso de un intercomunicador de un objeto Protocolo TCP/IP recibir bytes de datos hasta una marca determinada.

Ejemplo

Recibimos en el lado del servidor caracteres hasta llegar a un carácter que nos marca el final de la recepción.

Rem ( Proceso de servidor )
Rem ( De la línea enviada por el cliente leemos hasta el carácter de marca, para extraer la cadena )
Protocolo TCP: recibir hasta carácter marca ( TEXTO, "|", 10 )
Rem ( Quitamos el carácter de marca al texto )
Set ( TEXTO, left(TEXTO, len(TEXTO)-1) )

Protocolo TCP: recibir línea

Comando de instrucción de proceso que en un proceso intercomunicador de un objeto Protocolo TCP/IP permite recibir bytes de datos seguidos de un carácter de fin de línea (\n).

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Identificador de la variable local alfabética de retorno

Variable local del objeto donde se retornarán los bytes de datos recibidos.

Fórmula de tiempo en espera en segundos

Expresión de tipo fórmula con el tiempo, en segundos, que se va a esperar para recibir la línea. Para su especificación podremos hacer uso del asistente para edición de fórmulas.

Funcionalidad

En un proceso de cliente o de servidor de un protocolo TCP/IP este comando de instrucción permite recibir una línea de datos (conjunto de bytes seguido de un carácter \n) . Este comando de instrucción solamente podrá ser usado en procesos (intercomunicadores) de un objeto Protocolo TCP/IP.

Comentarios

Ejemplo

Recibimos en el lado del servidor una línea de caracteres en la variable local LINEA dándola de alta en la tabla de mensajes.

Rem ( Proceso de servidor )
Protocolo TCP: recibir línea ( LINEA, 10 )
Crear nueva ficha en memoria ( mensaje, MENSAJES@ejemplo )
    Modificar campo ( NAME, "Línea recibida: " + LINEA )
Alta de ficha ( mensaje )
    Libre

Protocolo TCP: rerminar servicio

Comando de instrucción de proceso que termina un servicio TCP.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Identificador del protocolo TCP/IP

En este parámetro tendremos que seleccionar un objeto Protocolo TCP/IP cuyo servicio queremos terminar.

Identificador de la variable local booleana de retorno de ok (Opcional)

Variable local al proceso de tipo booleano donde se retornará si el servicio ha podido ser terminado (1) o no (0).

Funcionalidad

Este comando de instrucción de proceso permite terminar un servicio TCP.

Ejemplo

Terminamos el servicio especificando en la variable local OK_DETENIDO el resultado.

Protocolo TCP: terminar servicio ( ENV_REC_LINEA@Tutor TCP, OK_DETENIDO )

Protocolo TCP: terminar todos los servicios

Comando de instrucción de proceso que termina todos los servicios TCP iniciados en la máquina donde se ejecute el proceso.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

No tiene.

Funcionalidad

Ejemplo

Terminamos todos los servicios que podamos tener activos.

Protocolo TCP: terminar todos los servicios

Se trata de un conjunto de comandos que nos permiten programar como administrar los servicios TCP/IP que programemos.

Estos comandos solamente pueden ser usados en los intercomunicadores de un objeto Protocolo .

Comando de instrucción del grupo que comprueba si está iniciado el servicio del protocolo TCP/IP especificado en sus parámetros.

Objeto protocolo TCP/IP declarado en el proyecto actual o en un proyecto cuyo servicio se desea saber si está iniciado o no.

Comando de instrucción de proceso que ejecuta el sub-objeto cliente definido en un objetoProtocolo TCP/IP creado en el actual o en un proyecto heredado.

Expresión de tipo fórmula con el nombre de dominio o dirección IP del servidor con el que queremos establecer la conexión TCP/IP. Puede ser un dato constante o variable. Para facilitar su introducción podemos hacer uso del

Si hemos definido parámetros en el sub-objeto

El comando de instrucción de proceso que permite recibir el buffer enviado es

Para obtener el valor numérico del byte a enviar podemos utilizar la función de fórmulas

El comando de instrucción que permite leer un byte es

El comando de instrucción que permite recibir un entero de 16 bits es

El comando de instrucción que permite recibir un entero de 32 bits es .

El comando de instrucción que permite recibir un entero de 64 bits es

Expresión de tipo fórmula con la senda del fichero a enviar. Para su especificación podremos hacer uso del

El comando de instrucción de proceso que permite recibir el fichero enviado es

El comando de instrucción de proceso que permite recibir la línea enviada es .

.

El servicio será iniciado en la máquina donde sea ejecutado el proceso. Es decir, si iniciamos el servicio en un proceso ejecutado en primer o 2º plano desde una sesión de , el servicio será iniciado en esa estación cliente. Si el proceso lo ejecutamos en tercer plano, entonces el servicio será ejecutado en el servidor. Esto tendremos que tenerlo en cuenta a la hora de ejecutar el proceso que termine el servicio.

El servicio permanecerá activo hasta que, o bien se dispare un proceso que ejecute el comando de instrucción

El comando de instrucción de proceso que permite enviar el buffer es .

El comando de instrucción que envía un byte es

El comando de instrucción que permite enviar un entero de 16 bits es .

El comando de instrucción que permite enviar un entero de 32 bits es .

El comando de instrucción que permite enviar un entero de 64 bits es

El comando de instrucción de proceso que permite enviar un fichero es .

En php se puede hacer como se indica aquí:

El comando de instrucción de proceso que envía una línea es .

Un servicio es iniciado con el comando de instrucción de proceso

Este comando de instrucción de proceso detiene todos los servicios TCP iniciados en la sesión en curso de la de aplicación que está siendo ejecutada.

Un servicio es iniciado con el comando de instrucción de proceso .

Protocolos TCP/IP
TCP/IP
Protocolo TCP
heredado
Variable local.
proyecto
asistente para edición de fórmulas.
función.
asistente para edición de fórmulas.
Variable local
Velneo vClient
http://www.php.net/manual/en/function.pack.php
instancia
Protocolo TCP: ¿Está iniciado el servicio?
Protocolo TCP: ejecutar función cliente
Protocolo TCP: enviar buffer
Protocolo TCP: enviar byte
Protocolo TCP: enviar entero 16 bits
Protocolo TCP: enviar entero 32 bits
Protocolo TCP: enviar entero 64 bits
Protocolo TCP: enviar fichero
Protocolo TCP: enviar línea
Protocolo TCP: eniciar servicio
Protocolo TCP: recibir buffer
Protocolo TCP: recibir byte
Protocolo TCP: recibir entero 16 bits
Protocolo TCP: recibir entero 32 bits
Protocolo TCP: recibir entero 64 bits
Protocolo TCP: recibir fichero
Protocolo TCP: recibir hasta carácter marca
Protocolo TCP: recibir línea
Protocolo TCP: terminar servicio
Protocolo TCP: terminar todos los servicios
Protocolo TCP: enviar buffer
Protocolo TCP: enviar fichero
Protocolo TCP: enviar línea
Protocolo TCP: enviar byte
Protocolo TCP: enviar entero 16 bits
Protocolo TCP: enviar entero 32 bits
Protocolo TCP: enviar entero 64 bits
Protocolo TCP: recibir fichero
Protocolo TCP: recibir hasta carácter de marca
Protocolo TCP: recibir línea
Protocolo TCP: recibir byte
Protocolo TCP: recibir entero 16 bits
Protocolo TCP: recibir entero 32 bits
Protocolo TCP: recibir entero 64 bits
Protocolo TCP: ¿Está iniciado el servicio?
Protocolo TCP: ejecutar función cliente
Protocolo TCP: iniciar servicio
Protocolo TCP: terminar servicio
Protocolo TCP: terminar todos los servicios
Protocolo TCP: recibir buffer.
Protocolo TCP: recibir byte.
Protocolo TCP: recibir entero 16 bits.
Protocolo TCP: recibir entero 32 bits
TCP: recibir entero 64 bits.
Protocolo TCP: recibir fichero.
Protocolo TCP: recibir línea
Protocolo TCP: terminar servicio.
Protocolo TCP: enviar buffer
Protocolo TCP: enviar byte.
Protocolo TCP: enviar entero 16 bits
Protocolo TCP: enviar entero 32 bits
Protocolo TCP: enviar entero 64 bits.
Protocolo TCP: rnviar fichero
Protocolo TCP: enviar línea
Protocolo TCP: iniciar servicio.
Protocolo TCP: iniciar servicio
stringToNumber.