Giter VIP home page Giter VIP logo

netdebug's Introduction

NetDebug

项目介绍

本项目使用pyqt5创建了一个网络调试助手,包含TCP/IP服务器,TCP/IP客户端,UDP/IP 服务器, UDP/IP客户端

整体效果

软件架构

软件架构说明:

使用Python标准库的Selector和PyQt5完成的本程序

TODO: 使用Python3的asyncio模块来完成socket操作;

安装教程

克隆本项目

  1. pip install pyqt5==5.10.1
  2. python MainWindows.py

运行环境

windows 7以上,windows xp未测试


使用说明

本工具包含了TCP, UDP的服务器和客户端;


TCP服务器

  1. 此TCP服务能够接收多个客户端连接,连接数量根据系统内存,CPU和带宽决定;
  2. 测试电脑8G内存自发自收能够创建1024个客户端,测试hello world数据发送,50ms并发测试;
  3. 支持对某个客户端返回数据;鼠标选中指定的客户端信息,就可以发送数据;
  4. 支持接收的数据重定向到日志文件中;

TCP客户端

  1. 默认创建一个客户端, 但修改了客户端个数后会自动保存,下次启动读取记录值;
  2. 建议客户端创建数量在100以内,过多会导致消耗内存和CPU;
  3. 数据发送支持单条,多条发送;
  4. 支持定时发送,建议定时时间再10毫秒以上,当客户端个数多,定时时间短,则容易导致CPU繁忙;

UDP服务器

  1. UDP服务器同TCP服务器一样,能支持多个客户端的数据,支持的客户端数量根据电脑性能决定;
  2. 支持接收数据重定向到日志中;

客户端

  1. 同TCP客户端一样,支持创建多个客户端,数量根据电脑性能决定;
  2. 建议客户端创建数量在100以内,过多会导致消耗内存和CPU;
  3. 支持定时发送,建议定时时间再10毫秒以上,当客户端个数多,定时时间短,则容易导致CPU繁忙;
  4. UDP客户端需要发送数据到服务后才会显示创建的UDP客户端信息;

已知问题

1. TCP客户端接收的数据不能自动转换为十六进制 2. UDP工具组接收的数据不能自动转换为十六进制 3. TCP服务器点击连接,TCP客户端连接2个以上时, 点击关闭时连接线程不会断,继续连接时会增加线程 4. UDP客户端创建后关闭按钮会把整个程序关闭掉

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.