python io阻塞

Posted on Posted in python

环境:只有代理能上网,局域网内的smtplib通过代理发邮件,下面是代码的大概内容

> server

  1. import socket  
  2. import sys  
  3. HOST = '0.0.0.0'  
  4. PORT = 8888  
  5. BUFSIZE = 1024  
  6. MAXL = 10  
  7.   
  8. servsock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)  
  9. servsock.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)    #端口重用  
  10. servsock.bind((HOST,PORT))  
  11. servsock.listen(MAXL)  
  12.   
  13. def server_io():  
  14.     try:  
  15.         while(1):  
  16.             clisock,addre = servsock.accept()  
  17.             while(1):  
  18.                 message = clisock.recv(BUFSIZE)  
  19.                 if not message:  
  20.                     break  
  21.                 deal_mess(addre[0],message)  
  22.         clisock.close()  
  23.         servsock.close()  
  24.     except Exception, e:   
  25.         sys.exit(1)  
  26.   
  27. def deal_mess(addre,message):  
  28.     try:  
  29.         # 这里是想要做的事,addre是IP,message是内容,最终也要return  
  30.     except Exception, e:  
  31.         return  #返回隧道继续监听  

> client

  1. import socket  
  2. import os   
  3. import sys  
  4.   
  5. def client_io(message): #message为接受的参数  
  6.     HOST = '127.0.0.1'  #server的ip  
  7.     PORT = 8888  
  8.     BUFSIZE = 1024  
  9.     ADDR = (HOST,PORT)  
  10.     try:  
  11.         clisock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)  
  12.         clisock.connect(ADDR)  
  13.         clisock.sendall(message)    
  14.         clisock.close()  
  15.     except Exception, e:  
  16.         sys.exit()  
» 转载请注明来源:若我若鱼 » python io阻塞

Leave a Reply

Your email address will not be published. Required fields are marked *

1 × five =