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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/kamaelia?hl=en
-~----------~----~----~----~------~----~------~--~---