Python程序设计20234117杨涛誉

20234117杨涛誉 2024-04-23 16:31:59

课程:《Python程序设计》
班级: 2341
姓名: 杨涛誉
学号:20234117
实验教师:王志强
实验日期:2024年4月23日
必修/选修: 公选课

 

(一)实验内容

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

(二)实验要求

(1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序;

(2)要求包含文件的基本操作,例如打开和读写操作。

(3)要求发送方从文件读取内容,加密后并传输;接收方收到密文并解密,保存在文件中。

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

注:在华为ECS服务器(OpenOuler系统)和物理机(Windows/Linux系统)上使用VIM、PDB、IDLE、Pycharm等工具编程实现

 

创建服务端和客户端,选择一个通信端口
服务器端

根据老师发布的程序案例编写服务器和客户端代码 尝试运行

 

  1. import socket

  2. s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

  3. s.bind(("192.168.226.96",8006))

  4. s.listen()

  5. conn,address=s.accept()#阻塞

  6. data=conn.recv(1024)#接受

  7. print("从客户端收到的信息为:",data.decode())

  8. conn.sendall("黄河黄河,我是长江".encode())

  9. s.close()

接收者


 
  1. import socket
    import os
    from DesModule import *
    file1 = open("秘密", "r+")
    file1.write("哈哈哈哈哈哈哈哈")
    file1.seek(0)
    cryptostring = file1.readline()
    print(cryptostring)
    s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s.connect(("localhost", 8000))
    # s.connect(("192.168.43.158", 6000))
    s.sendall(cryptostring.encode())
    data = s.recv(1024)
    print("从服务器接收的数据为:",data.decode())
    s.close()

运行结果为

 出现错误,尝试修改

1.from DesModule import *:从DesModule模块导入所有内容。这个模块可能是用户自定义的,用于加密或解密数据,但在这段代码中并没有看到使用它的地方

2.检查发现是端口不一致导致无法连接,作为服务器,将服务器与客户端代码中的IP地址都修改为本机IP地址,将端口号设置为相同数字。

3.OSError: [WinError 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。

修改后,发现只能导出一段文字就会结束运行 

最后发现,是因为自己的端口不对()

继续修改......

IP地址都修改为本机IP地址

 这样终于可以用了......

 

...全文
161 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文档介绍了基于RESTful设计的高性能API接口的实战开发案例,涵盖从设计、开发、权限控制、性能优化到测试与文档自动化等环节。项目以用户管理与权限控制系统为例,采用Node.js + Express.js作为后端框架,MongoDB为数据库,Mongoose管理数据模型,严格遵循RESTful风格的接口设计,定义了标准HTTP动作对应的操作。安全性方面,实现了JWT认证机制和基于角色的访问控制(RBAC),确保接口安全。性能优化措施包括Redis缓存热点数据、接口请求频率限制、Winston和Morgan日志系统。开发调试借助Postman和Swagger UI,支持自动生成接口文档,提高前后端协作效率。部署方案利用Docker、Nginx、GitHub Actions等技术实现自动化部署,ELK用于日志收集与分析。; 适合人群:有一定编程基础,尤其是对API开发感兴趣的开发者和系统架构师。; 使用场景及目标:①学习RESTful风格的API设计原则;②掌握API的安全机制,如JWT认证和RBAC;③了解性能优化方法,如缓存和限流;④熟悉API开发的完整流程,包括测试、文档管理和部署。; 阅读建议:本案例详细描述了API开发的各个环节,建议读者按照文档顺序逐步学习,重点理解各部分的技术细节和实现原理,同时结合实际项目进行实践。

144

社区成员

发帖
与我相关
我的任务
社区描述
开展Python教学和技术交流
python 高校 北京·丰台区
社区管理员
  • blackwall0321
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧