Can't get UDP example to work
Roy Smith
roy at panix.com
Sun Jul 26 12:53:59 EDT 2009
In article
<148abf0f-c9e4-4156-8f16-e4e5615d350b at s6g2000vbp.googlegroups.com>,
Paul Barry <pauljbarry3 at gmail.com> wrote:
> host = '127.0.0.1' # Bind to all interfaces
This threw me off the track for a little while. The comment is wrong!
You're not binding to all interfaces, you're binding specifically to the
loopback interface. For what you're doing, it's fine, but the comment is
still wrong.
It's also a little weird that the example uses connect() and sendall().
Those are TCP-ish type constructs. They work with UDP sockets, but using
them sort of obscures the fundamental datagram nature of UDP.
Well, enough of that. The real problem seems to be right here:
> print "Looking for replies; press Ctrl-C or Ctrl-Break to stop."
> while 1:
> buf = s.recvfrom(2048)
> sys.stdout.write(buf[0])
Try adding sys.stdout.flush(), and it should work. Or change it to print.
I've never seen this book, but if this code really is verbatim from the
book, I'm not very impressed.
More information about the Python-list
mailing list