20193417 2019-2020-2 《Python程序设计》实验三报告

 

 

20193417 2019-2020-2 《Python程序设计》实验三报告

  • 课程:《Python程序设计》

  • 班级:1934

  • 姓名:段恺宇

  • 学号:20193417

  • 实验教师:王志强

  • 实验日期:2020年5月20日

  • 必修/选修: 公选课

1. 实验内容

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

2. 实验过程及结果

1. 过程

1.在vs code上建立服务器

2.利用vs code或IDLE建立客户端

 

3.运行客户端打开“发送.txt”文件,在“发送.txt"中输入信息内容即可

 

 

 

源代码:

服务器

  

import socket
import os
import base64
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(('127.0.0.1', 8001))
str1 = input("输入文件名:")
s.sendall(str1.encode())
os.chdir(r'E:\编程\Python\作业')
file = open(str1,'r')
message = file.read()
message = message.encode('utf-8')
encodemessage = base64.b32encode(message)
s.sendall(encodemessage)
file.close()
data = s.recv(1024)
print("接受信息:",data.decode())
s.sendall("收到".encode())
name = s.recv(1024)
print("接受文件:",name.decode())
data = s.recv(1024)
f = open("发送.txt","w")
f.write(data.decode())
f.close()
print("已加密发送")
s.sendall("已接受,连接中断".encode())
s.close()

 


客户端
import socket
import os
import base64
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(('127.0.0.1', 8001))
str1 = input("输入文件名:")
s.sendall(str1.encode())
os.chdir(r'E:\编程\Python\作业')
file = open(str1,'r')
message = file.read()
message = message.encode('utf-8')
encodemessage = base64.b32encode(message)
s.sendall(encodemessage)
file.close()
data = s.recv(1024)
print("接受信息:",data.decode())
s.sendall("收到".encode())
name = s.recv(1024)
print("接受文件:",name.decode())
data = s.recv(1024)
f = open("发送.txt","w")
f.write(data.decode())
f.close()
print("已加密发送")
s.sendall("已接受,连接中断".encode())
s.close()

 

 

 


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

  • 问题1:如何使用加密方法?

    • 问题1解决方案:百度找方案

     

     


其他(感悟、思考等)

对于数据处理、socket这一块,自己欠缺的方面还是有很多,需要多看网课资源尽量补上,虽然已经结课,但掌握这方面的内容还是对整体的综合能力有所提高。


参考资料

posted on 2020-05-24 00:48  DuKeYu  阅读(164)  评论(0编辑  收藏  举报