1625-5 王子昂 总结《2017年3月26日》 【连续第176天总结】
A. PyQt5 多线程、网络发送与接收和数据的传输
B. 客户端和服务端的独立界面都已设置完成,现在仅剩通过TCP协议把它们连接起来的工作了
首先需要一个主线程运行ui界面,然后开启一个线程进行监听。由于后期有多客户端同时连接的可能,因此为每个客户端的传输都额外开辟一个线程。
传输的数据为所有输入的数据打包转换成str类型,然后再转为bytes类型传输。
虽然很多QColor、QFont等类型的数据,但是还好它们的构造函数都只有一个str类型的参数,因此只要把这个参数发送过去,再让客户端根据它们来生成相应的类即可。
不过在编写各个功能的函数时,没有考虑到之后传输的功能,因此大量函数使用的都是局部变量,传输线程无法调用,只得再重新一个个定义域来给传输线程调用。
另外添加了保存功能,使得下次重启界面时无需再逐个打开的繁琐工作。也复习了文件读写的函数。同时读取的代码基本与客户端接收线程的代码相同。
下一步工作是测试和优化:包括服务端随机选取5幅图片进行传输、标准文件打开框的目录保存等
C. 明日计划
PyQt5 完善传输和优化
汇编语言5.2