20192404 贾智博 实验三《Python程序设计》实验报告

学号 20192404 《Python程序设计》实验三报告

课程:《Python程序设计》
班级: 1924
姓名:贾智博
学号:20192404
实验教师:王志强
实验日期:2020年5月16日
必修/选修: 公选课

1.实验内容

创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。

2. 实验过程及结果

客户端代码

import socket
import os
import base64

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(('127.0.0.1',8080))

file = open('text3c.txt','r')

str = file.read()
bytes_str = str.encode("utf-8")
str_url = base64.b64encode(bytes_str)

s.sendall(str_url)
data = s.recv(1024)
print(data.decode())
recvData = s.recv(1024).decode()
print('客户端回复道:%s'%(recvData))
s.close()

服务器端代码

import socket
import os
import base64

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(('127.0.0.1',8080))
s.listen()
while 1:
conn, address = s.accept()
data = conn.recv(1024)
print(data.decode())
str_bas = base64.b64decode(data).decode("utf-8")
conn.sendall("服务器已经收到了数据内容".encode())
show_str = "I worship courage, perseverance, and confidence, because they have always helped me cope with the difficulties I have encountered in my earthly life."
conn.send(show_str.encode())
os.chdir("C:\Users\智哥哥的快乐本\Desktop")
file = open("text3s.txt","w+")
file.write(str_bas)
print("读取:",file.readlines())
file.close()

s.close()

需读取的文件的内容

Faith is to believe what we have never seen, and the reward of this belief is to see what we believe.

以下是过程截图:

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

  • 问题1:不知道如何加密以及选择何种加密方式

  • 问题1解决方案:首先,我上网进行了搜索,发现了许许多多繁杂的信息,在其中我也有了一些启发以及收获。后来我又向同学请教、交流最终问题得到了很好的解决。

  • 问题2:代码运行

  • 问题2解决方案:通过调试器进行调试,并查询相应的报错信息。

其他(感悟、思考等)

做完实验三后我发现,学习Python只听老师讲的部分是不够的,有很多很多的东西老师没有那么多时间去给你细细地讲解,所以要学会自主地去学习,遇到什么问题,不能放弃,要在老师讲的基础上,通过网上或其他途径进行学习和尝试。真的是,师傅领进门,修行在个人。
网上真的什么都有。。。

参考资料

posted @ 2020-05-21 19:56  20192404—贾智博  阅读(240)  评论(0编辑  收藏  举报