In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Problemas Comunicacion con socket

Foro de Xailer profesional en español
alexandrasoft
Mensajes: 20
Registrado: Vie Oct 28, 2011 4:12 pm

Problemas Comunicacion con socket

Mensaje por alexandrasoft »

Hola tengo que comunicarme mediante Socket TCP/IP y protocolo ASCII con un servidor , actualmente lo hago con Visual .NET debido a que usaba la versión 2.3 de XAiler , pero ahora como estoy migrando a la versión 7.3 con Harbourd encontré que mediante INET se podía hacer . Me conecto bien incluso me da bien el estatus del Socket pero al enviar el comando el servidor no lo “entiende” por lo que pienso que estoy enviando el comando en un formato erróneo, el problema es que no encuentro documentación de Harbour que me aclare el tema solo describe la función . Este es el código que uso y la documentación del servidor. Me podrían dar una mano para ver que hago mal. Desde ya muchas gracias

respuesta :=" “ sMensaje = "02,41,30,31,01,01,03"
hb_inetInit()

socket:=hb_inetConnect("186.138.7.13",8082)
status:=hb_inetstatus(socket)
buffersizes:=hb_inetGetRcvBufSize(socket)

respuetaSend:=hb_inetSendAll(socket,AllTrim(sMensaje))

respuestaIn:=hb_inetRecvAll(socket,@respuesta)

MsgInfo(respuesta)

La documentación del servidor es la siguiente:
CARACTERISTICAS:
• Estructura Master/Slave
• La comunicación entre el Master y la WBox se efectúa mediante una red TCP/IP
• Protocolo ASCII
Reseña acerca de los comandos:
Los comandos son codificados en 3 bytes, representados por un numero hexadecimal de 3 dígitos. El primero de ellos indica de que tipo es el comando, mientras que los otros 2 nos indican la acción a tomar.
La Estructura de los paquetes de transmisión es:
Campo Carácter Nro de Bytes Descripción

STX 02h 1 Caracter que indica el inicio de transmisión
MSG n Mensaje con n caracteres ASCII (Ver Nota)
ETX 03h 1 Caracter que indica el fin de transmisión
Nota: MSG tiene la siguiente estructura:
CMD XXX 3 Comando 3 Caracteres ASCII
DATOS Variable Datos en formato ASCII y pueden existir o no.
Dato conocido de acuerdo al comando que se esté enviando
Responder