def __init__(self, master): ttk.LabelFrame.__init__(self, master, text="使用プロトコル") # プロトコルリスト radio_item = { 'proto_tcp': { 'text': "TCP", 'value': 0 }, 'proto_udp': { 'text': "UDP", 'value': 1 }, # originalは使わなさそうなので除外 # 'proto_org': {'text': "Original", 'value': 2}, 'proto_icmp': { 'text': "ICMP", 'value': 3 }, } for key, val in radio_item.items(): item = ttk.Radiobutton(self, text=val['text'], value=val['value']) item.configure(variable=TxController.SendParams().proto) item.configure(command=TxController.ChangeProtocol( TxController.SendParams().proto, txWidgets['srcport'], txWidgets['dstport'])) item.pack(side=tk.LEFT, padx=8) txWidgets[key] = item
def __init__(self, master): ttk.LabelFrame.__init__(self, master, text="送信モニター") # 送信数/秒 mon_pps = Common.LabelReadonlyEntry(self, text="送信数/秒", width=7) mon_pps.Entry.configure(textvariable=TxController.MonitorParams().pps) # データ長(Byte) mon_datalen = Common.LabelReadonlyEntry(self, text="データ長(Byte)", width=6) mon_datalen.Entry.configure( textvariable=TxController.MonitorParams().datalen) # bps換算 mon_bps = Common.LabelReadonlyEntry(self, text="bps換算", width=9) mon_bps.Entry.configure(textvariable=TxController.MonitorParams().bps) # 送信元ポート mon_srcport = Common.LabelReadonlyEntry(self, text="送信元ポート", width=6) mon_srcport.Entry.configure( textvariable=TxController.MonitorParams().srcport) # 表示設定 mon_pps.grid(row=0, column=0) mon_datalen.grid(row=0, column=1) mon_bps.grid(row=0, column=2)
def __init__(self, master): ttk.Frame.__init__(self, master) # 送信ボタン button = ttk.Button(self) button.configure(textvariable=TxController.MonitorParams().send_btn) button.configure(command=TxController.SendAction(widgets=txWidgets)) button.pack(side=tk.LEFT, ipady=5)
def __init__(self, master): ttk.LabelFrame.__init__(self, master, text="送信元設定") # IPアドレス # TODO: 送信元IPアドレス設定は将来検討 # ipframe = ttk.Frame(self) # ipframe.pack(anchor=tk.E) # ttk.Label(ipframe, text="IPアドレス").pack(side=tk.LEFT) # address_list = HachiUtil.LocalAddress().get() # srcip = ttk.Combobox(ipframe, width=21, values=address_list) # srcip.configure(textvariable=TxController.SendParams().srcaddr.ip) # TxController.SendParams().srcaddr.ip.set(address_list[0]) # # IPアドレスをコピーできるようにするため、ROにしない # # srcip.state(['readonly']) # srcip.pack(anchor=tk.E) # txWidgets['srcip'] = srcip srcip = Common.LabelEntry(self, text="IPアドレス", width=23) srcip.Entry.insert(0, "設定できません") srcip.Entry.state(['disabled']) srcip.pack(anchor=tk.E) txWidgets['srcip'] = srcip # ポート番号 srcport = Common.LabelEntry(self, text="ポート番号", width=23) srcport.Entry.configure( textvariable=TxController.SendParams().srcaddr.port) srcport.pack(anchor=tk.E) txWidgets['srcport'] = srcport.Entry
def __init__(self, master): ttk.LabelFrame.__init__(self, master, text="送信先設定") # IPアドレス dstip = Common.LabelEntry(self, text="IPアドレス", width=23) dstip.Entry.configure( textvariable=TxController.SendParams().dstaddr.ip) dstip.pack(anchor=tk.E) txWidgets['dstip'] = dstip.Entry # ポート番号 dstport = Common.LabelEntry(self, text="ポート番号", width=23) dstport.Entry.configure( textvariable=TxController.SendParams().dstaddr.port) dstport.pack(anchor=tk.E) txWidgets['dstport'] = dstport.Entry
def run(self): try: # TCPコネクション生成 self.sock.connect(self.dstaddr_list[0]) # # 送信元ポート通知 # self.srcport.set(self.sock.getsockname()[1]) # 最高速の処理を軽くするため処理を分ける if self.unlimited: self._send_u() else: self._send() except Exception as e: TxController.tcp_exception(e) finally: self.sock.close()
def __init__(self, master): ttk.Frame.__init__(self, master) # 注意書き ttk.Label(self, text="※ カンマ(,)区切りで複数指定\n※ ハイフン(-)で範囲指定").pack(anchor=tk.E) # データ長 param_datalen = Common.LabelEntry(self, text="データ長", width=6) param_datalen.pack(side=tk.LEFT, padx=5) param_datalen.Entry.configure( textvariable=TxController.SendParams().datalen) txWidgets['param_datalen'] = param_datalen.Entry # 送信パケット数/秒 param_pps = Common.LabelEntry(self, text="送信パケット数/秒", width=6) param_pps.pack(side=tk.LEFT, padx=5) param_pps.Entry.configure(textvariable=TxController.SendParams().pps) txWidgets['param_pps'] = param_pps.Entry # 最高速 param_unlimited = ttk.Checkbutton(self, text='最高速') param_unlimited.pack(side=tk.LEFT, padx=5) param_unlimited.configure(command=TxController.CheckUnlimited( TxController.SendParams().unlimited, txWidgets['param_pps'])) param_unlimited.configure(variable=TxController.SendParams().unlimited) txWidgets['param_unlimited'] = param_unlimited # 送信速度の目安 ttk.Label(self, text="bps目安:").pack(side=tk.LEFT) param_bps = ttk.Label(self, textvariable=TxController.SendParams().bps) param_bps.pack(side=tk.LEFT, padx=5)