|
Página 1 de 2
|
Problemas Decodificacion TCP
Autor |
Mensaje |
sripetta
Usuario
Registrado: Septiembre 2015
Mensajes: 6
Edad: 39
|
Problemas Decodificacion TCP
Y he usado varias aplicaciones en las cuales cree servers y clientes TCP.
Ahora bien, tyengo que comunicarme con una app cerrada que manda la data en HEX. En el wireshark veo el trafico y el dato que me envia el soft cerrado es "00 0a 00 04 00 00 00 01", pero mi server recibe "\x00\n\x00\04\x00\x00\x00\x01".
Entiendo que \x significa algo así como caracter no alfanumerico, pero no entiendo por que ve eso.
No se mas que hacer, alguna idea?
Realmente necesito ayuda ya que el software con el que debo interactuar es cerrado y no pudo modificarlo.
Gracias, saludos.
|
#1 Martes, 29 Septiembre 2015, 05:39 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Problemas Decodificacion TCP
"\x.." permite de representar y utilizar un valor en hexadecimal dentro de una cadena. Es la representación de un número como un carácter de tipo String (ASCII).
Pues, tú estás obteniendo dentro de una cadena simplemente una modalidad particular de representación y de expresión hexadecimal de algunos valores.
Probar esto:
Ah... vamos a ver algunos modos para convertirlo a valor numerico decimal:
última edición por vuott el Martes, 29 Septiembre 2015, 11:43; editado 4 veces
|
#2 Martes, 29 Septiembre 2015, 08:33 |
|
|
sripetta
Usuario
Registrado: Septiembre 2015
Mensajes: 6
Edad: 39
|
Re: Problemas Decodificacion TCP
vuott, muchas gracias por responder.
Disculpame pero recién arranco con gambas y no me quedo muy clara la respuesta.
Yo recibo los datos de la siguiente manera:
Esperaría recibir algo así como "00 0a 00 04 00 00 00 01", pero mi server recibe "\x00\n\x00\x04\x00\x00\x00\x01".
¿Como hago para decodificar correctamente el mensaje entrante?
Muchas gracias.
última edición por sripetta el Martes, 29 Septiembre 2015, 13:55; editado 2 veces
|
#3 Martes, 29 Septiembre 2015, 13:24 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Problemas Decodificacion TCP
Vemos esto:
Uhmmm... sripeta, no puedes recibir los valores como tipo Byte (en vez de String) ?
Es decir:
Dime, por favor, si esto funciona.
...y si funciona con este codigo:
última edición por vuott el Martes, 29 Septiembre 2015, 16:35; editado 7 veces
|
#4 Martes, 29 Septiembre 2015, 15:04 |
|
|
sripetta
Usuario
Registrado: Septiembre 2015
Mensajes: 6
Edad: 39
|
Re: Problemas Decodificacion TCP
vuott,
muchisimas gracias por tu ayuda.
Ahora me queda muchos más claro, y pude hacerlño funcionar.
Lo que no funciona es recibir los datos directamente como BYTE.
Saludos.
|
#5 Martes, 29 Septiembre 2015, 18:05 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Problemas Decodificacion TCP
Lo que no funciona es recibir los datos directamente como BYTE.
Uhmmm... porque no funciona el segundo ejemplo ? Que ocurre ? No se ve ningun valor ? O que ?
|
#6 Martes, 29 Septiembre 2015, 18:14 |
|
|
sripetta
Usuario
Registrado: Septiembre 2015
Mensajes: 6
Edad: 39
|
Re: Problemas Decodificacion TCP
voutt,
el tema es cuando defino la variable como byte, cuando llega al comando "READ" me da error, dice que esperaba un byte pero recibe un string.
Saludos.
|
#7 Miercoles, 30 Septiembre 2015, 13:58 |
|
|
sripetta
Usuario
Registrado: Septiembre 2015
Mensajes: 6
Edad: 39
|
Re: Problemas Decodificacion TCP
Vuott,
ahora tengo otro problema... el inverso.
Osea, debo mandarle comandos al software cerrado, pero el comando "Write" solo me aceptada string y debo mandarle bytes....
original:
Intente:
Pero esto me da error, espera un string pero le llega un byte
última edición por sripetta el Miercoles, 30 Septiembre 2015, 14:53; editado 2 veces
|
#8 Miercoles, 30 Septiembre 2015, 14:53 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Problemas Decodificacion TCP
Sin entrar al problema de los tipos de datos y demás, ¿por qué, simplemente no usas string y luego conviertes la cadena como más te interese?
Algo así:
sRecibido= "\x00\n\x00\04\x00\x00\x00\x01"
sRecibido=replace(sRecibido,"x\\"," ")
y a partir de ahí operar como antes...
=================== No podemos regresar
|
#9 Miercoles, 30 Septiembre 2015, 17:24 |
|
|
sripetta
Usuario
Registrado: Septiembre 2015
Mensajes: 6
Edad: 39
|
Re: Problemas Decodificacion TCP
Shordi,
el tema de la recepción ya esta resuelto.
De todas maneras eso fue lo primero que intente, pero eso me hace perder información.
Mi problema ahora es a la hora de enviar... por que el comando "Write" solo me acepta String, como detallo en el post anterior.
Gracias por contestar.
Saludos.
|
#10 Miercoles, 30 Septiembre 2015, 19:37 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 2
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|