예제 #1
0
 def _before_send(self):
     super(TcpSender, self)._before_send()
     self._data = self._get_data()
     if not self.args.reconnect:
         addr = (self.args.destip, self.args.destport)
         self._sock = TcpSocket()
         self._sock.connect(addr)
예제 #2
0
 def run(self):
     sock = TcpSocket()
     sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
     sock.bind((self._args.ip, self._args.port))
     sock.listen(10)
     sockets = [sock,]
     while True:
         infds, outfds, errfds = select.select(sockets, [], [])
         for fd in infds:
             if fd == sock: 
                 client, client_addr = sock.accept()
                 sockets.append(client)
                 if not self._args.quiet:
                     print(_("accept connection from {0}".format(client_addr)))
             else:
                 buffer = fd.recv(1024)
                 if len(buffer) != 0:
                     if not self._args.quiet:
                         print(fd.getpeername(),buffer)
                 else:
                     client_addr = fd.getpeername()
                     fd.close()
                     if not self._args.quiet:
                         print(_("close connection from {0}".format(client_addr)))
                     sockets.remove(fd)
예제 #3
0
 def _send(self):
     if self.args.reconnect:
         addr = (self.args.destip, self.args.destport)
         self._sock = TcpSocket()
         self._sock.connect(addr)
     self._sock.send(self._data)
     if self.args.reconnect:
         self._sock.close()