110
社区成员
发帖
与我相关
我的任务
分享
课程:《Python程序设计》
班级: 2222
姓名: 刘鑫宇
学号:20222203
实验教师:王志强
实验日期:20224年4月22日
必修/选修: 公选课
## 1.实验内容
创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信.
## 2. 实验过程及结果
(2)要求包含文件的基本操作,例如打开和读写操作。
(3)要求发送方从文件读取内容,加密后并传输;接收方收到密文并解密,保存在文件中。
服务端代码:
import socket
from DesModule import des_encrypt,des_descrypt
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(("192.168.178.189",8001))
s.listen()
conn,address=s.accept()
data = conn.recv(1024)
print("接受返回信息:",data.decode())
if __name__ == "__main__":
ciphertext = des_encrypt("you are so handsome!","12345678")
print("密文:",ciphertext)
conn.sendall(ciphertext.encode())
s.close()
客服端代码:
import socket
from DesModule import des_descrypt
import os
if os.path.exists("secret"):
file1=open("secret","r+")
else:
file1=open("secret","w+")
file1.write("thanks!")
file1.seek(0)
cryptostring = file1.readline()
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("192.168.178.189",8001))
s.sendall(cryptostring.encode())
data = s.recv(1024)
print("密文:",data.decode())
if __name__=="__main__":
plaintext = des_descrypt(data.decode(),"12345678")
print("明文:",plaintext)
s.close()
实验结果:


(4)程序代码托管到码云。


注:在华为ECS服务器(OpenOuler系统)和物理机(Windows/Linux系统)上使用VIM、PDB、IDLE、Pycharm等工具编程实现。
## 3. 实验过程中遇到的问题和解决过程
问题1:服务端加密无法运行
问题1解决方案:下载python3.11的文件
## 其他(感悟、思考等)
xxx
xxx
## 参考资料
《Java程序设计与数据结构教程(第二版)》
《Java程序设计与数据结构教程(第二版)》学习指导