Python socket编程

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容