Michael,

Thank you for taking a look at this.  I slimmed down my test case to
just:

from Kamaelia.Internet.TCPClient import TCPClient

if __name__ == '__main__':
    TCPClient('www.google.com', 80).run()

I also tested with this line instead:
    TCPClient('127.0.0.1', 80).run()

I was thrown off by the UDP traffic generated my the name resolution
of localhost, but the real problem is the handling of a connection
that is refused.  I have no server running on port 80 so it should
timeout and return.  Instead it tries (in a seemingly infinite loop)
to make the connection.  My software firewall (set to allow all)
reports around 1 connection attempt every second.  The python process
also consumes ~85% of one of my cores during this time.

Things get even weireder when I test with:
    TCPClient('localhost', 80).run()

Here my firewall reports the same TCP connection attempts as the 127
test, but it also reports thousands of UDP packets as well.  I suspect
every second it is doing some name resolution which is generating the
UDP traffic.

The end result is that I believe Kamaelia (or the socket layer) is not
properly handling a silently refused connection.   There may be a
similar problem with UDP sockets because I was about to detail an
inability to shutdown unconnected UDP peers.

Thanks,
Steve

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"kamaelia" group.
To post to this group, send email to kamaelia@googlegroups.com
To unsubscribe from this group, send email to 
kamaelia+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/kamaelia?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to