20193221 徐炟 2019-2020《Python程序设计》 实验三 报告

学号 2019-2020-2 《Python程序设计》实验x报告

课程:《Python程序设计》
班级: 1932
姓名: 徐炟
学号:20193221
实验教师:王志强
实验日期:2020年5月23日
必修/选修: 公选课

1.实验内容

(一)实验内容
创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。
(二)实验要求
(1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序。
(2)要求包含文件的基本操作,例如打开和读写操作。
(3)要求发送方从文件读取内容,加密后并传输;接收方收到密文并解密,保存在文件中。
(4)程序代码托管到码云。

2. 实验过程及结果

实验代码为mport socket
import base64
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(('127.0.0.1',8001))
file=open("徐炟.txt","w",encoding="UTF-8")
file.write("身体是革命的本钱!!!")
file.close()
file=open("徐炟.txt","r",encoding="UTF-8")
data=file.readlines()
file.close()
x=str(data[0])
x=x.encode()
y=base64.b64encode(x)
s.sendall(y)
data=s.recv(1024)
data=base64.b64encode(data)
print(data.decode())
s.close()

import socket
import base64
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(('127.0.0.1',8001))
s.listen()
conn,address=s.accept()
data=conn.recv(1024)
data=base64.b64decode(data)
print(data.decode())
task=(("服务器接收到了内容:"+str(data)).encode())
task=base64.b64encode(task)
conn.sendall(task)
data=str(data)
file=open("xuda.txt","w")
file.write(data)
file.close()
客户端为

接收端为

1、首先创建一个文档并输入想要加密的内容

2、再用base64的方法进行加密

3、同样用base64.decorde()进行解密,最后写入文档

运行结果如下

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

  • 问题1:在实验过程中不清楚怎么加密解密?
  • 问题1解决方案:通过上网查询得知可以用base64进行加密解密,比较方便快捷。
  • 问题2:创建出来的文档字符为乱码?
  • 问题2解决方案:选用utf-8格式才能与pycharm兼容,出现的才不是乱码。
  • ...

其他(感悟、思考等)

做python还是需要多练习,毕竟熟能生巧,希望以后在学习中也要多多复习和回顾以前的知识并加强训练!!!

参考资料

posted on 2020-05-23 20:41  炟炟  阅读(118)  评论(0编辑  收藏

导航