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日

悬赏问题

  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算