网络编程项目框架内容

基于TCP的云端书阅管理系统

通过网络实现图书借阅网站,包括服务器与客户端,客户端与服务器是基于TCP连接。

客户端描述:客户端运行会与服务器端进行连接,连接成功后,显示注册登录界面。此时,客户端可以选择注册一个新账号,然后把注册的新账号信息发送给服务器端,服务器端验证是新用户后,会把注册成功的信息通知客户端。注册成功后,客户端选择登录账号,将输入的账号信息发送给服务器端验证是否存在此用户,若存在此用户,服务器端就会通知客户端登录成功。登录成功后,用户客户端可以完成以下操作:

  1. 更新书籍
  2. 查询书籍信息
  3. 借阅书籍
  4. 归还书籍
  5. 查看借阅书籍的历史记录

服务器端功能描述:服务器端启动后,等待客户端进行连接。然后完成以下操作:

  1. 创建用户表、书籍表、借阅历史记录表
  2. 接受用户的注册信息,账号信息不能重复
  3. 接受用户的登录信息
  4. 将书籍信息写入书籍数据表中
  5. 从书籍数据表中查询对应的书籍信息
  6. 借阅书籍后,书籍数据表中对应的书籍数量减1,如果书籍数量为0,则提示书籍数量不足;借阅书籍的同时,将该书籍的信息以及借阅时间插入到借阅历史记录表中
  7. 归还书籍后,书籍数据表中对应的书籍数量加1
  8. 查询借阅历史记录

Socket 编程

启动服务端程序,监听端口,等待客户端连接。完成客户端与服务端简单的TCP连接。使用线程完成客户端与服务端之间的一对多的连接。服务端显示每个客户端的基本信息:每个客户端的IP、端口等信息。

数据包协议

客户端使用 TCP 连接服务端后,发送接受数据使用数据封包。封包格式如下: | 协议版本(1) | 数据包类型(1)| 数据包的长度(2)| 数据包的内容(变长)|

协议版本:发送端填充自己的该数据包的版本信息,服务端接受数据包后,查看该版本是否是自己能识别的版本。是则进行解析,否则作为非法数据包(一般丢弃)。数据包类型:发送端根据自己发送的数据包里面的数据内容的不同填充不同的类型。 如:如果数据包的数据信息是登录信息,类型为0x0001。如果是断开连接的信息则类型为 0x0002。这样接收端接受到数据之后就可以根据数据类型的值,对数据做不同的处理。数据包的长度:TCP 是数据流协议,数据发送者多次发送的数据,但在 tcp 的接受端缓冲区内数据与数据之间没有间隔,无法分开,所以在数据包中增加一项数据长度。这样接收端可以根据数据长度信息确定本数据包的长度,确定要从 tcp 的缓冲区内每次要读取的长度。 数据包内容:要发送的数据。 数据包发送者:在发送数据前,在数据前增加数据包头。数据包头包含以上的包头信息。封包可以采用数据结构:

struct pack_head

{

unsigned char ver;

unsigned char type;

unsigned short len;

char buf[0];//buf 指针作为数据包的缓冲的包头

};

数据包接受端:接受到数据后,分成两次读取一个数据包,第一次读取首先读取一个数据包头长度,然后根据数据包头中的数据长度读取整个数据包。这样一个一个的数据包就分别被读取出来。数据包协议总结:协议是数据的收发端之间一种约定要好的一种规定。发送者按照该格式发送,接受者按照该格式进行解析。

数据管理

服务器端接收所有客户端的信息,将所有的账号、密码以及书籍信息记录在数据库中统一管理。

用户信息表:用户名、密码

书籍信息表:书名、作者名、书籍数量

借阅历史记录表:用户名、借阅的书名、借阅的日期

相关推荐
csdn_aspnet6 小时前
C语言 Lomuto分区算法(Lomuto Partition Algorithm)
c语言·开发语言·算法
哼?~6 小时前
NAT、代理服务、内网穿透
网络
谙弆悕博士6 小时前
【附C源码】从零实现C语言堆数据结构:原理、实现与应用
c语言·数据结构·算法··数据结构与算法
上海云盾-小余9 小时前
内网边界安全管控:访问权限隔离与入侵阻断方案
网络·安全·web安全
南京码讯光电技术有限公司9 小时前
工业无线AP选型指南:从WiFi 5到WiFi 6+5G CPE,如何构建全覆盖、零漫游、高可靠的智能工厂网络?
服务器·网络·5g
优橙教育10 小时前
5G网络优化关键参数解读:从入门到实战
网络·学习·5g
zt1985q11 小时前
本地部署网页监控工具 Webmonitor 并实现外部访问
运维·服务器·网络·网络协议
三品吉他手会点灯11 小时前
C语言学习笔记 - 35.数据类型 - printf函数的非输出控制符与格式优化
c语言·开发语言·笔记·学习
dog25012 小时前
为何新增网络路径反而引入额外时延
服务器·网络·php
w1wi12 小时前
CRA 差距分析完全指南 | 合规落地第一步
网络·人工智能·安全