20201316 2020-2021-2 《Python程序设计》实验三报告
20201316 2020-2021-2 《Python程序设计》实验三报告
课程:《Python程序设计》 班级: 2013 姓名: 陈鑫 学号:20201316 实验教师:王志强 实验日期:2021年5月24日 必修/选修: 公选课
1.实验内容
创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。
(1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序;
(2)要求包含文件的基本操作,例如打开和读写操作。
(3)要求发送方从文件读取内容,加密后并传输;接收方收到密文并解密,保存在文件中。
(4)程序代码托管到码云。
2. 实验过程及结果
2.1
首先加载socket模块(python文件名称不能命名socket,一开始一个命名了socket,一个命名socket1,然后模块都显示无法调用),创建服务端与客户端,都连接本地的ip地址和端口,开始监听连接。
2.2
接受传来的数据,并发送给对方数据,将客户端传来的文件接受并创建一个新的文件,将对方文件拷贝到新的文件中。运行前:
2.3
传输完毕,关闭套接字
2.4
代码托管到码云,链接:https://gitee.com/cx20201316/pythonstart1
3. 实验过程中遇到的问题和解决过程
问题1:
问题1解决方案:使用bytes(“ ”,encoding=‘utf-8’)进行强转
问题2:端口数字为异常参数,运行失败,如图
s.bind函数内只能有一个参数,所以需要用括号将ip地址和端口数字包含
感悟:之前从来没接触过,理解上还是有很多问题,感觉有些概念有点抽象。但是学点新东西还是挺有意思的。