From 8de85c222046fd1203f78fdb46d88f2a243df16b Mon Sep 17 00:00:00 2001
From: "li.zhenye"
Date: Wed, 3 Aug 2022 21:54:52 +0800
Subject: [PATCH] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E8=A7=A3=E5=86=B3=E9=87=8D?=
=?UTF-8?q?=E5=BC=80=E7=AB=AF=E5=8F=A3=E5=8D=A0=E7=94=A8=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
valve_test.py | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/valve_test.py b/valve_test.py
index de99180..d6b29bb 100755
--- a/valve_test.py
+++ b/valve_test.py
@@ -4,7 +4,7 @@ import numpy as np
class ValveTest:
- def __init__(self):
+ def __init__(self, host=None, port=13452):
self.last_cmd = None
self.reminder = """======================================================================================
快,给我个指令😉😉😉︎:
@@ -17,11 +17,11 @@ d. 阀板的脉冲分频系数,>=2即可 h. 发个da和
给q指令我就退出。
======================================================================================\n"""
self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建 socket 对象
- # host = socket.gethostname() # 获取本地主机名
- host = '192.168.10.8'
- port = 13452 # 设置端口
+ self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
+ host = socket.gethostname() if host is None else host # 获取本地主机名
+ print(f"Service Address {host}, {port}.")
self.s.bind((host, port)) # 绑定端口
- self.s.listen(1) # 等待客户端连接
+ self.s.listen(5) # 等待客户端连接
self.c = None
def run(self):
@@ -153,9 +153,9 @@ d. 阀板的脉冲分频系数,>=2即可 h. 发个da和
class VirtualValve:
- def __init__(self):
+ def __init__(self, host, port):
self.client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 声明socket类型,同时生成链接对象
- self.client.connect(('192.168.10.8', 13452)) # 建立一个链接,连接到本地的13452端口
+ self.client.connect((host, port)) # 建立一个链接,连接到本地的13452端口
def run(self):
while True:
@@ -167,15 +167,16 @@ class VirtualValve:
if __name__ == '__main__':
import argparse
-
parser = argparse.ArgumentParser(description='阀门测程序')
parser.add_argument('-c', default=False, action='store_true', help='是否是开个客户端', required=False)
+ parser.add_argument('-m', default='192.168.10.8', help='指定master主机名')
+ parser.add_argument('-p', default=13452, help='指定端口')
args = parser.parse_args()
if args.c:
print("运行客户机")
- virtual_valve = VirtualValve()
+ virtual_valve = VirtualValve(host=args.m, port=args.p)
virtual_valve.run()
else:
print("运行主机")
- valve_tester = ValveTest()
+ valve_tester = ValveTest(host=args.m, port=args.p)
valve_tester.run()