On 2008-07-28, Alan Franzoni <[EMAIL PROTECTED]> wrote: > Scott David Daniels was kind enough to say: > >> Alan Franzoni wrote: > >> Please don't pass this misinformation along. >> >> In the struct module document, see the section on the initial character: >> Character Byte order Size and alignment >> @ native native >> = native standard >> < little-endian standard >> > big-endian standard >> ! network (= big-endian) standard > > Sure, that's is one way to do it... but I was answering > Micheal Torrie, who said: > >> htonl() call, and then when pulling it off the wire on the >> other end you'd use ntohl(). If you don't then you will have >> problems when the > > htonl() and ntohl() are available in Python in the socket > module, so: > 1) i was just pointing the OP to the right place where to find > such functions > 2) they work just the same way, hence I can't see why the > "struct" way should be the preferred one while the "socket" > way should be misinformation
Yes, the socket module does have ntohX and htonX calls. But they're superfluous, since you still have to call struct.pack/unpack to convert integer objects to/from the byte-strings that are transferred via send() and recv() calls. Changing the initial "=" in the format string to a "!" eliminates the need to pass the integer objects though calls to socket.ntohX() and socket.htonX() -- Grant Edwards grante Yow! Do you have exactly at what I want in a plaid visi.com poindexter bar bat?? -- http://mail.python.org/mailman/listinfo/python-list