20212306张阳

导航

 

学号 2019-2020-2 《Python程序设计》实验x报告

课程:《Python程序设计》
班级: 2123
姓名: 张阳
学号:20212306
实验教师:王志强
实验日期:2022年4月21日
必修/选修:选修课

1.实验内容

(一)实验内容

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

(二)实验要求

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

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

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

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

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

2. 实验过程及结果

服务器端socket函数

  • s.bind(address)
    将套接字绑定到地址,在AF_INET下,以tuple(host, port)的方式传入,如s.bind((host, port))
  • s.listen(backlog)
    开始监听TCP传入连接,backlog指定在拒绝链接前,操作系统可以挂起的最大连接数,该值最少为1,大部分应用程序设为5就够用了
  • s.accept()
    接受TCP链接并返回(conn, address),其中conn是新的套接字对象,可以用来接收和发送数据,address是链接客户端的地址。

客户端socket函数

  • s.connect(address)
    链接到address处的套接字,一般address的格式为tuple(host, port),如果链接出错,则返回socket.error错误
  • s.connect_ex(address)
    功能与s.connect(address)相同,但成功返回0,失败返回errno的值
    思维导图如下

利用socket构造服务端,并选择一个通信端口,启动服务器

构造客户端,进行通信

参考资料https://blog.csdn.net/xixihahalelehehe/article/details/106959811

posted on 2022-05-03 21:04  20212306张阳  阅读(33)  评论(0编辑  收藏  举报