课程:《Python程序设计》
班级: 1931
姓名: 程心雨
学号:20193111
实验教师:王志强
实验日期:2020年5月16日
必修/选修: 公选课

 

(一)实验内容

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

(二) 实验过程及结果

  • 我回顾了Socket的相关技术,通过回看上课视频,回忆了Socket相关的知识。
  • 首先,我借用了之前创建的服务器端和客户端
  • 客户端
  • import socket
    s2 = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s2.connect(('127.0.0.1',3391))
    str=input("输入内容:")
    s2.sendall(str.encode())
    data2 = s2.recv(1024)
    print(data2)
    s2.close()
  • 服务端
  • import socket
    s1=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s1.bind(('127.0.0.1',3392))
    s1.listen()
    conn, address = s1.accept()
    data1 = conn.recv(1024)
    print(data1.decode())
    conn.sendall(("数据内容:"+str(data1.decode())).encode())
    s1.close()
  • 然后,适应的对程序进行相应的改编,运用base64模块进行加密解密工作,并在客户端中进行文件的打开,读取,关闭等操作
  • 客户端
  • import socket
    import base64
    s1=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s1.bind(('127.0.0.1',3393))
    s1.listen()
    conn, address = s1.accept()
    data1 = conn.recv(1024)
    a = open(r'D:\1931\dasuki.txt','r',encoding='UTF-8')
    b = base64.b64decode(data1)
    a.write(b.decode())
    print(b.decode())
    a.close()
    s1.close()
  • 服务端
  • import socket
    import base64
    s2 = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s2.connect(('127.0.0.1',3393))
    a = open(r'D:\1931\dasuki.txt','r',encoding='UTF-8')
    b = a.read()
    c = base64.b64decode(b.encode())
    a.close()
    s2.close()
  • 结果如图所示

(三)实验过程中遇到的问题和解决过程

  • 问题一:
  • 问题一解决办法:因为在操作过程中,不知道自己在敲代码过程中到底删除了哪一个符号,导致代码很多地方都出现了红色,运行后,也出现了相应的问题,于是我去寻求了百度翻译,发现这一串代码成了无效的。于是我在该行查找,发现自己多删掉了一个括号,补上后,程序恢复正常。
  • 问题二:
  • 问题二解决办法:这是我计算机频繁曝出的错误,根据前几次的经验,我时不时讲代码某处的数字更改。

其他(感悟、思考等)

在实验过程中,我发现自己最近遗忘的东西太多了。根据艾宾浩斯的记忆曲线,可以得知,间隔时间越长,遗忘的知识越多。在进行实验的过程中,我时不时回顾之前上课所学知识,不会的地方就去寻求度娘找同学以及之前的笔记求救。

我在Socket这一方面的知识掌握度还是不够的,有些知识即便看了视频还是有一些懵,不过好在之前还是做了一点笔记的,回顾笔记勉强还是能敲出来的。之前因电脑问题,我无法在电脑上实现Socket模块的操控,只能借助同学的电脑远程帮我运行。今天经过重温知识点,以及一系列艰难的操作,总算是成了。这次实验相对之前的实验来说,还是有一定难度的,这也告诉我知识点要多回顾,多复习,才能达到不遗忘的效果。

 

 

 

参考资料

百度百科

笔记 

教学视频

 

posted on 2020-05-23 15:43  顾谢  阅读(131)  评论(0编辑  收藏