1.背景:最近在做项目的压力测试,由于没有压力机,所以就用了个人的工作电脑以及同事的电脑同时起进程的方式,基本上满足了需求,这里记录下过程
2.流程,server端,client端,进程/线程的代码文件
server端代码
import socket
server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
connects = []
server.bind(('', 9090))
for i in range(5):
back_msg, addr = server.recvfrom(1024)
if addr not in connects:
connects.append(addr)
print(back_msg.decode("utf-8"), addr, len(connects))
server.sendto("收到".encode('utf-8'), addr)
if len(connects)==4:
server.sendto("开始执行程序".encode('utf-8'), addr)
client端
import socket
import time
import os
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
client.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
for i in range(4):
client.sendto("我是设备1号".encode('utf-8'), ('<broadcast>', 9090))
data,addr = client.recvfrom(1024)
print("接收到数据{}:{}".format(addr,data.decode('utf-8')) )
if data.decode('utf-8') =='开始执行程序':
os.system(r'python D:\InterfaceTest1111\temp.py')
time.sleep(10)
其中temp.py就是线程启动的代码,就是具体要做的事情
我感觉这个东西也不太好描述,可以粘贴代码运行下试试就知道是怎么回事了
多线程/进程启动的可以参考大神的文章
https://blog.csdn.net/m0_38011218/article/details/81938261
https://www.cnblogs.com/kaituorensheng/p/4445418.html