diff --git a/pcl_expect/tcp.py b/pcl_expect/tcp.py new file mode 100644 index 0000000000000000000000000000000000000000..91cbbf3a5cbf14e337201edbfedb576cc95f64e0 --- /dev/null +++ b/pcl_expect/tcp.py @@ -0,0 +1,32 @@ +import socket + +import pcl_expect + +__all__ = [ + "Tcp", + ] + +class Tcp(pcl_expect.Expectable): + + """Connect to a TCP port.""" + + def __init__(self, sockaddr): + """Connect a TCP socket to the address given by sockaddr. + + sockaddr is passed to the connect() method of a socket + object. It should normally be a pair of a host name and + port number. + + """ + + self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + self.sock.connect(sockaddr) + pcl_expect.Expectable.__init__(self, self.sock.fileno()) + + def send(self, s): + self.sock.send(s) + + def close(self): + pcl_expect.Expectable.close(self) + self.sock.close()