socket编程——实验三报告

实验三

(一)实验内容

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

(二)实验要求

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

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

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

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

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

(三)实验报告

在规定时间前发表博客,标题“学号 实验三《Python程序设计》实验报告”

实验报告模板如下:
 # 学号 2019-2020-2 《Python程序设计》实验x报告

课程:《Python程序设计》
班级: 2121
姓名: 侯玥
学号:20212102
实验教师:王志强
实验日期:2022年5月4日
必修/选修: 公选课

1.实验内容
借助socket编程,创建服务端和客户端,监听多个客户请求,实现类似“聊天室”平台的构建
## 2. 实验过程及结果
 1 import socket as ab
 2 HOST="127.0.0.1" #这个是电脑自己的IP,和别人的电脑交流时要改成别人的IP
 3 PORT=7921 #这个要和服务器的端口号一致
 4 s = ab.socket(ab.AF_INET, ab.SOCK_STREAM)
 5 print('Socket created')
 6 s.bind(("127.0.0.1", 7921))
 7 s.listen()#监听
 8 conn,addr=s.accept()
 9 data=conn.recv(1024)
10 conn.send( ("saberp").encode() )
11 print(ab.gethostbyaddr("127.0.0.1")[2][0])
12 s.close()
 1 from asyncore import file_dispatcher
 2 import socket as ab
 3 HOST="127.0.0.1" #这个是电脑自己的IP,和别人的电脑交流时要改成别人的IP
 4 PORT=7921 #这个要和服务器的端口号一致
 5 s = ab.socket(ab.AF_INET, ab.SOCK_STREAM)
 6 s.connect(('127.0.0.1',7921))
 7 file1=open("rihoua","a",encoding="GBK")
 8 file1.write("houahoua")
 9 str=file1.readlines()
10 file1.close()
11 str=input()
12 s.sendall(str.encode())
13 data=s.recv(1024)
14 print(data.decode())
15 s.close()
3. 实验过程中遇到的问题和解决过程
- 问题1:无法同时运行两个程序
- 问题1解决方案:放到一个文件夹下,先运行服务端,再运行客户端。
- 问题2:

 

- 问题2解决方案:更换端口


其他(感悟、思考等)
学习socket编程像是在啃硬骨头,这是我第一次接触网络编程,学习起来比较吃力,对于许多网络编程概念不清楚,多查阅资料,多学习,然后找到网络编程的感觉。
参考资料
posted @ 2022-05-04 22:25  FayFloride  阅读(244)  评论(0编辑  收藏  举报