El retorno de los sockets

tny a.porrua en gmail.com
Vie Jul 20 23:02:51 CEST 2007


El vie, 20-07-2007 a las 20:30 +0200, Oscar Curero escribió:
> Hola,
> 
> Estoy haciendo un conector tcp/ip para una aplicación (just for fun, nada 
> serio) y me estoy liando con una parte de los sockets. Como información 
> adicional, la maquina remota es una zSeries que usa big endian, con lo cual 
> tendré que usar socket.htons().
> 
> El problema concreto es que no sé como enviar un determinado dato: el valor 
> hexadecimal 40 (0x40). Según el manual de la aplicación servidor, el dato que 
> envío es de un (1) byte de longitud. Mi pregunta es: ¿Como tengo que enviar 
> el valor hexadecimal 40 (0x40) para que sólo ocupe 1 byte? Creo que se me 
> está escapando algo tan básico que no lo estoy viendo...
> 
> Una tabla de equivalencias:
> 
> 64 (dec) = 40 (hex) = 100 (oct) = @ (chr)
> 
> Por ejemplo:
> 
> - Si pongo socket.send("64")
> Estoy enviando el valor 64, representación decimal de 0x40 que ocupa dos bytes 
> ¿no?
> 
> - Si pongo socket.send("100")
> Estoy enviando el valor 100, representación octal de 0x40 que ocupa tres bytes 
> ¿no?
> 
> ¿Como lo hacéis vosotros?
> merci!,

me da la impresión de que no has mirao na de na...
como dijo Perogruyo lo que es (texto) es (texto)...
si pones socket.send("en un lugar de la mancha...") mandas el quijote
si pones socket.send("@") mandas un byte que vale 64
con poco esfuerzo encontrarás algo para convertir valores (de 0 a 255)
en caracteres...
si te apetece mandar números más grandes no es muy complicado que te
hagas tu propia función,
y si lo que quieres en enviar otro tipo de dato, python te ofrece varios
modulos para serializar...

------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es