Alan Wright wrote:

while (num1<=10) :

 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 s.settimeout(10.0)
 s.connect(("10.1.1.69", 50008)) # SMTP
 print s.recv(1024) + '\n',
 num1=num1+1
 #s.close()


sys.exit(1)

I think the following is happening:
Reusing the 's' object for every new socket will make Python to garbage
collect the previous ones. Garbage collecting a socket will likely close() it.
Also after creating all sockets your program exits. I guess either Python or the operating system itself will go close all the sockets.


Try putting every new socket you make into a big list instead, so that Python can't garbage collect it. And put your program to sleep at the end.

import time
allsockets=[]

while (...):
        s=socket.socket(...
        allsockets.append(s)
        s.settimeout(...
        ...

time.sleep(99999)



--irmen
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to