NetDebug
NetDebug copied to clipboard
使用PyQt5完成的网络助手工具,支持多客户端并发
NetDebug
项目介绍
本项目使用pyqt5创建了一个网络调试助手,包含TCP/IP服务器,TCP/IP客户端,UDP/IP 服务器, UDP/IP客户端

软件架构
软件架构说明:
使用Python标准库的Selector和PyQt5完成的本程序
TODO: 使用Python3的asyncio模块来完成socket操作;
安装教程
克隆本项目
- pip install pyqt5==5.10.1
- python MainWindows.py
运行环境
windows 7以上,windows xp未测试
使用说明
本工具包含了TCP, UDP的服务器和客户端;
TCP服务器
- 此TCP服务能够接收多个客户端连接,连接数量根据系统内存,CPU和带宽决定;
- 测试电脑8G内存自发自收能够创建1024个客户端,测试hello world数据发送,50ms并发测试;
- 支持对某个客户端返回数据;鼠标选中指定的客户端信息,就可以发送数据;
- 支持接收的数据重定向到日志文件中;
TCP客户端
- 默认创建一个客户端, 但修改了客户端个数后会自动保存,下次启动读取记录值;
- 建议客户端创建数量在100以内,过多会导致消耗内存和CPU;
- 数据发送支持单条,多条发送;
- 支持定时发送,建议定时时间再10毫秒以上,当客户端个数多,定时时间短,则容易导致CPU繁忙;
UDP服务器
- UDP服务器同TCP服务器一样,能支持多个客户端的数据,支持的客户端数量根据电脑性能决定;
- 支持接收数据重定向到日志中;
客户端
- 同TCP客户端一样,支持创建多个客户端,数量根据电脑性能决定;
- 建议客户端创建数量在100以内,过多会导致消耗内存和CPU;
- 支持定时发送,建议定时时间再10毫秒以上,当客户端个数多,定时时间短,则容易导致CPU繁忙;
- UDP客户端需要发送数据到服务后才会显示创建的UDP客户端信息;
已知问题
~~1. TCP客户端接收的数据不能自动转换为十六进制~~ ~~2. UDP工具组接收的数据不能自动转换为十六进制~~ ~~3. TCP服务器点击连接,TCP客户端连接2个以上时, 点击关闭时连接线程不会断,继续连接时会增加线程~~ ~~4. UDP客户端创建后关闭按钮会把整个程序关闭掉~~