socket objects have a little quirk. If you try to receive 0 bytes on a blocking socket, they block. That is, if I call recv(0), it blocks (until some data arrives).
I think that's wrong, but I don't want to argue that. I would like to create a subclass of socket that fixes the problem. Ideally, something like: class new_socket(socket): def recv( self, bufsize, flags=0 ): if bufsize == 0: return "" else: return socket.recv( bufsize, flags ) They only problem is, sockets return socket objects via the accept call. And the socket returned is of type socket, of course, not new_socket, as I would like. I could override accept() to return a new_socket, but I don't know how to convert the old socket to a new socket. That is, I'd like to add a method to the class above something like: def accept( self ): conn, addr = socket.accept() <convert conn, which is type socket to type new_socket> return ( conn, addr ) Does anyone have any suggestions on how to do the above? -- http://mail.python.org/mailman/listinfo/python-list