Subversion Repositories HomeAutomation

Rev

Blame | Last modification | View Log | SVN | RSS feed

  1. import socket
  2.  
  3. class TCPClient():
  4.    
  5.     host = 'localhost'
  6.     port = 50007
  7.     sock = None
  8.    
  9.     def __init__(self, host, port):
  10.         self.host = host
  11.         self.port = port
  12.    
  13.     def connect(self, timeout = None):
  14.         try:
  15.             self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  16.             if timeout is not None:
  17.                 self.sock.settimeout(timeout)
  18.             self.sock.connect((self.host, self.port))
  19.             self.sock.settimeout(0.5)
  20.             return True
  21.         except Exception, e:
  22.             print 'TCP Client connect failed:', e
  23.             return False
  24.        
  25.     def disconnect(self):
  26.         if self.sock is not None:
  27.             self.sock.close()
  28.  
  29.     def read(self):
  30.         try:
  31.             data = self.sock.recv(1024)
  32.             return repr(data)
  33.         except socket.timeout:
  34.             pass
  35.         return None
  36.        
  37.     def write(self, data):
  38.         self.sock.send(data)
  39.