93
社区成员
发帖
与我相关
我的任务
分享
# 学号 20234124 《Python程序设计》实验三报告
课程:《Python程序设计》
班级: 2341
姓名: 陈远博
学号:20234124
实验教师:王志强
实验日期:2020年4月16日
必修/选修: 公选课
## 1.实验内容
1.创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信
2.创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序;
3.要求包含文件的基本操作,例如打开和读写操作。
4.要求发送方从文件读取内容,加密后并传输;接收方收到密文并解密,保存在文件中。
5.程序代码托管到码云。
## 2. 实验过程及结果
1.创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序
第一步:打开phythoncharm构建一个基础的编程环境,进行操作前准备!

第二步:本人先选择编写服务端程序。
输入:
import socket tcpserver = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
开始服务端编程,选择一个合适的IP地址。在本次操作中我选择 127.0.0.1", 2024
这是一个特殊的IPV4地址,是本地回环地址。使我们构建服务端的关键!绝对不能输错!
随后我们尝试进行实验性输入
try:
data=conn.recv(1024)
print(data.decode("utf-8"))
ret_data=input("紧急情况请马上回复:")
conn.send(ret_data.encode("uft-8"))
except Exception:
break
conn.close()
随后调试程序,其可以正常运行!

第三步:我们需要编写一个客户端程序
首先我们要确认一个IP地址必须和服务端的IP地址一致所以本人依然选择使用127.0.0.1", 2024这是一个特殊的IPV4地址是一个回环地址,从而实现客户端的运行
然后我们设置一个utf-8编码这样就可以就可以识别我们书写系统中的各种文字,这是一个基础性操作!如果无法完成我们的客户端就无法识别我们的文字
tcpclient.send(data.encode('utf-8'))
ret = tcpclient.recv(1024)
print(ret.decode('utf-8'))
最后我们完成客户端的编写图如下:

经过调试程序可以正常运行!
2.要求包含文件的基本操作,例如打开和读写操作。
开始测试服务端读写操作是否正常:

经过测试可以进行打字等操作
4.要求发送方从文件读取内容,加密后并传输;接收方收到密文并解密,保存在文件中
我们利用聊天程序进行聊天,经过测试程序可以正常运行

加密操作过于复杂无法展示!
5.程序代码托管到码云
第一步先选择本人需要上传的文件
第二步单击右键选择git并点击提交

第三步注意是否提交成功,并进行确认

确认提交程序!
## 3. 实验过程中遇到的问题和解决过程
- 问题1:IP地址填写错误,将“”127.0.0.1"写成127.0.01少了一点导致程序无法运行
问题1解决方案:检查IP地址,并重新输入,随后程序可以正常运行
- 问题2:调试程序时编写循环程序while Ture中“T”忘记大写
- 问题2解决方案:重写程序将"t"大写
-问题3:忘记规定代码UTF-8
-问题3解决方案:编写程序 conn.send(ret_data.encode('utf-8'))
## 其他(感悟、思考等)
这次实验的难度相较于前几次实验难度大大提升,对我们python掌握提出了更高的要求!本次实验也更贴近于未来的机要通信工作,让我们在做实验的同时感受机要工作的不易与艰苦。这使我们更加重视对编程技术的掌握。实践是检验真理的唯一标准,通过一次次的编程实验。我们的编程技术得到了充分的提升,同时磨炼了我们的耐心与毅力。为把我们培养成和格的社会主义接班人!
xxx
xxx