标签:hit 编程 网络请求 客户端 比较 套接字 文件读取 码云 包含
20201317 鲁永欣《python程序设计》计算器设计实验二报告
实验二 计算器设计
(一)实验内容
创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。
(二)实验要求
(1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序;
(2)要求包含文件的基本操作,例如打开和读写操作。
(3)要求发送方从文件读取内容,加密后并传输;接收方收到密文并解密,保存在文件中。
(4)程序代码托管到码云。
课程:《Python程序设计》
班级: 2013
姓名: 鲁永欣
学号:20201317
实验教师:王志强
实验日期:2021年5月24日
必修/选修: 公选课
1.实验内容
学习socket
并学习创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。
2. 实验过程及结果
(1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序;
(2)要求包含文件的基本操作,例如打开和读写操作。
(3)要求发送方从文件读取内容,加密后并传输;接收方收到密文并解密,保存在文件中。
(4)程序代码托管到码云。
首先,(1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序
客户端:
服务端:
Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。
先初始化服务端,和客户端,连接相同的的IP地址和端口,建立服务器端和客户端的通信,设置服务器可以监听多个客户请求,通信的内容要存放在文件中,且在消息发送前后进行加解密,在客户端这里导入socket模块,通过s.bind()绑定地址(host,port)到套接字, 在AF_INET下,以元组(host,port)的形式表示地址。创建套接字,连接远端地址(s.connect()),连接后发送和接收数据(s.sendall(),s.recv()),传输完毕,关闭套接字(s.close())
先使用该代码进行简单的连接,确保可以通信之后,再在客户端创建一个文件lianxi.txt,将需要传输的消息写入文件,通信前将文件的内容读出,再进行传输。服务器端收到该消息后,创建一个文件xianshi.txt并通过utf-8将lianxi.txt中的信息写入文件中。
具体的显示结果如上图。
代码托管到码云:
https://gitee.com/lu-yongxin/pythonProject7/tree/master/python选修
3. 实验过程中遇到的问题和解决过程
- 问题1:socket这一章知识比较复杂,如何用这一章老师上课讲的知识完成实验。
- 问题1解决方案:通过课上的老师仔细讲解,和学习网络资源,一步步解决完成实验。
- 问题2:如何socket进行两个文件的“通信”,传输信息。
- 问题2解决方案:通过老师讲解,查找网络上的知识,我知道通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。
- 问题3:如何通过服务端,客户端进行信息传输。
- 问题3:解决方案:通过查找网络资料,我知道了可以用utf-8进行信息传输。
- ...
其他(感悟、思考等)
在一步步解决问题的过程中,我知道如何通过一步步练习,不断结决问题,从而对代码,上课讲的各种知识进行练习。
20201317 鲁永欣《python程序设计》计算器设计实验三报告
标签:hit 编程 网络请求 客户端 比较 套接字 文件读取 码云 包含
原文地址:https://www.cnblogs.com/lyxhhz/p/14827164.html