예제 #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 _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()
예제 #3
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)
예제 #4
0
class TcpSender(MultiSender):
    def _setup_args(self, parser, need_data=True):
        super(TcpSender, self)._setup_args(parser)
        parser.add_argument('destip',
                            type=str,
                            help=_("Specifies the dest ip send to"))
        parser.add_argument('destport',
                            type=int,
                            help=_("Specifies the dest port send to"))
        if need_data:
            parser.add_argument('--data',
                                type=str,
                                help=_("Specifies the data to be sent"))
        parser.add_argument('--reconnect',
                            action='store_true',
                            help=_("reconnect dest server for each message"))

    def _after_setup_args(self):
        if 'data' in self.args and not self.args.data and self.args.processes:
            raise NettestError(
                _("must specifies --data option when use multiprocess"))

    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)

    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()

    def _after_send(self):
        super(TcpSender, self)._after_send()
        if not self.args.reconnect:
            self._sock.close()

    def _get_data(self):
        if self.args.data:
            return self.args.data.encode()
        else:
            return sys.stdin.read(65535).encode()
예제 #5
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)
예제 #6
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()
예제 #7
0
class TcpSender(MultiSender):
    def _setup_args(self, parser, need_data=True):
        super(TcpSender, self)._setup_args(parser)
        parser.add_argument("destip", type=str, help=_("Specifies the dest ip send to"))
        parser.add_argument("destport", type=int, help=_("Specifies the dest port send to"))
        if need_data:
            parser.add_argument("--data", type=str, help=_("Specifies the data to be sent"))
        parser.add_argument("--reconnect", action="store_true", help=_("reconnect dest server for each message"))

    def _after_setup_args(self):
        if "data" in self.args and not self.args.data and self.args.processes:
            raise NettestError(_("must specifies --data option when use multiprocess"))

    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)

    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()

    def _after_send(self):
        super(TcpSender, self)._after_send()
        if not self.args.reconnect:
            self._sock.close()

    def _get_data(self):
        if self.args.data:
            return self.args.data.encode()
        else:
            return sys.stdin.read(65535).encode()