# 网络编程项目 **Repository Path**: xuchanglong_python/network-programming-project ## Basic Information - **Project Name**: 网络编程项目 - **Description**: 网络编程 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-04-29 - **Last Updated**: 2022-04-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 网络编程项目 ## 介绍 网络编程小项目实践 ## 项目说明 #### 1.聊天室 #### 2.ftp文件服务器 #### 3.webserver #### 4.在线字典 ## 项目需求 ### 1.聊天室 功能 : 类似qq群功能 .【1】 有人进入聊天室需要输入姓名,姓名不能重复 .【2】 有人进入聊天室时,其他人会收到通知:Lucy 进入了聊天室 .【3】 一个人发消息,其他人会收到: Lucy : 一起出去玩啊。 .【4】 有人退出聊天室,则其他人也会收到通知 : Lucy 退出了聊天室 .【5】 扩展功能:服务器可以向所有用户发送公告: 管理员消息: 大家好,欢迎进入聊天室。 ### 2.ftp文件服务器 .【1】 分为服务端和客户端,要求可以有多个客户端同时操作。 .【2】 客户端可以查看服务器文件库中有什么文件。 .【3】 客户端可以从文件库中下载文件到本地。 .【4】 客户端可以上传一个本地文件到文件库。 .【5】 使用print在客户端打印命令输入提示,引导操作 ### 3.webserver #### 1. 主要功能 : .【1】 接收客户端(浏览器)请求 .【2】 解析客户端发送的请求 .【3】 根据请求组织数据内容 .【4】 将数据内容形成http响应格式返回给浏览器 #### 2. 特点 : .【1】 采用IO并发,可以满足多个客户端同时发起请求情况 .【2】 通过类接口形式进行功能封装 .【3】 做基本的请求解析,根据具体请求返回具体内容,同时可以满足客户端的网页效果加载 ### 4.在线字典 #### 1.功能说明 用户可以登录和注册 . 登录凭借用户名和密码登录 . 注册要求用户必须填写用户名,密码,其他内容自定 . 用户名要求不能重复 . 要求用户信息能够长期保存 #### 2.可以通过基本的图形界面print以提示客户端输入。 .程序分为服务端和客户端两部分 . 客户端通过print打印简单界面输入命令发起请求 . 服务端主要负责逻辑数据处理 . 启动服务端后应该能满足多个客户端同时操作 #### 3.客户端启动后即进入一级界面,包含如下功能:登录 注册 退出 . 退出后即退出该软件 . 登录成功即进入二级界面,失败回到一级界面 . 注册成功可以回到一级界面继续登录,也可以直接用注册用户进入二级界面 #### 4.用户登录后进入二级界面,功能如下:查单词 历史记录 注销 . 选择注销则回到一级界面 . 查单词:循环输入单词,得到单词解释,输入特殊符号退出单词查询状态 . 历史记录:查询当前用户的查词记录,要求记录包含name word time。前10条即可。 ## 项目技术点 #### 1. 聊天室:函数 udp套接字 循环网路 多进程 #### 2. ftp文件服务器:类 tcp套接字 多线程并发 #### 3. webserver:类 tcp套接字 http协议 IO多路并发 #### 4. 在线字典:类 tcp套接字 多进程并发 MVC架构 数据库操作