zgxlyy 2023-03-31 17:18 采纳率: 100%
浏览 12
已结题

如何使用python写类似NetAssist的工具

刚开始学习python,有很多不懂的,想要编写一个电脑使用的测试工具(最好是python),使用的是wxFormBuilder的GUI界面。具体需求如下,有达人指导一下吗?
需求:
1.使用tcp发现同个局域网内的ip地址,并通过选择对应的ip地址进行tcp连接;
2.每条指令是68个bytes,自动计算CRC累加和,从第7个byte开始到第66个byte,最后两个bytes为CRC累加和;
3.能够编辑发送的数据,即编辑从第7个byte开始到第66个byte的数值;
4.能够编辑回复/应答的标准答案数据,即从第7个byte开始到第66个byte的数值;
5.对回复/应答的数据与标准答案的数值进行对比判断,得出一致为pass和不一致为fail;
6.设置完成后,能够将参数(标准答案)保存并重命名,下次使用可以导入;
7.可以批量添加多个需要发送的数据,设置好后,可以一条一条发送,每条超时10s。

  • 写回答

2条回答 默认 最新

  • Net_Not 2023-04-01 19:58
    关注

    这是一个比较具体的需求,需要较为全面的技术知识才能完成,下面是一个简单的参考流程供您参考:

    使用Python的socket模块,编写TCP客户端,使用socket的bind方法,将客户端绑定到本地IP和端口上,然后使用socket的connect方法连接到服务器。

    编写函数来生成指令的CRC累加和,使用Python的struct模块对数据进行打包,然后计算累加和。

    编写GUI界面,使用wxPython来创建控件。在界面上创建一个文本框,用于输入需要发送的数据,并创建一个发送按钮来触发发送操作。在按钮事件处理程序中,获取文本框中的数据,计算CRC累加和,并使用socket发送数据。

    创建一个接收线程,在线程中使用socket的recv方法从服务器接收数据,并将数据显示在界面上的另一个文本框中。

    创建一个标准答案编辑器,在界面上添加一个编辑器,用于编辑标准答案数据。在编辑器中使用Python的struct模块对数据进行打包,并将打包后的数据保存到文件中。

    创建一个答案对比函数,使用Python的struct模块将接收到的数据和标准答案进行比较,如果一致则输出“pass”,否则输出“fail”。

    使用Python的threading模块,创建一个定时器,每隔10秒触发一次,用于处理超时。

    在GUI界面中创建一个添加数据按钮,用于添加需要发送的数据。在按钮事件处理程序中打开文件选择对话框,选择需要发送的数据文件,并将文件名显示在界面上。

    在GUI界面中创建一个发送列表,用于显示所有需要发送的数据。在发送按钮事件处理程序中,遍历发送列表中的所有数据,依次发送,并等待接收线程将数据显示在界面上。

    在GUI界面中创建一个保存按钮,用于保存当前设置的标准答案。在按钮事件处理程序中打开文件保存对话框,选择文件名,并将当前编辑器中的数据保存到文件中。

    以上是一个简单的参考流程,具体实现还需要您根据实际需求进行调整和完善。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月11日
  • 已采纳回答 4月3日
  • 修改了问题 3月31日
  • 创建了问题 3月31日

悬赏问题

  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)