20193306 实验3 《python程序设计》实验报告

20193306 2021-2022-2 《Python程序设计》实验三报告

课程:《Python程序设计》
班级: 1933
姓名: 于子涵
学号:20193306
实验教师:王志强
实验日期:2022年4月21日
必修/选修: 公选课

1.实验内容

创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信,其中socket通信是实验的主线。
image
image

2. 实验过程及结果

分别创建服务端、客户端,选择通信端口,首先实现交互过程。在此基础上借助文件进行内容传输。
服务器端image

客户端image

运行后文件内容同步image

3. 实验过程中遇到的问题和解决过程

  • 问题1:OSError: [Errno 22] Invalid argument
  • 问题1解决方案:增加r,r"file"意思是指为了避免\xx是一个转义字符而导致的错误,也就是说加上r之后,“”里的就不再出现转义字符,变成纯的文件地址。
  • 问题2:[WinError 10054] 远程主机强迫关闭了一个现有的连接
  • 问题2解决方案:出现这样的错误,是因为我们访问的速度过于频繁,致使网页认为我们是恶意的攻击行为,就出现了远程主机强迫关闭的现象。减缓访问速度即可。
  • 问题3:a bytes-like object is required, not str
  • 问题3解决方案:这个意思就是"当前对象字节类来型, 而不是字符串类型",就是需要先把这个字段转成字节类型。python bytes和str两种类型可以通过函数encode()和decode()相互转换袭,str通过encode()方法可以转换为bytes。反过来,bytes通过decode()方法可转换为str
  • 问题4:加解密功能
  • 问题4解决方案:utf-8不算严格的加解密,是编码,其实是和加密区分开的,但因为比加密简单熟悉,用这个代替了实验中的加密功能......

其他(感悟、思考等)

虽然上学期学过socket编程内容,但是仍然十分抵触,因为与编程实践内容混在一起增加了我的种种困难,之后要着重理解、应用、丰富这次实验的内容,不断练习,争取用python语言与通信专业内容更好融会贯通。

参考资料

posted @ 2022-05-04 23:57  codeic  阅读(78)  评论(0编辑  收藏  举报