当前位置: 首页 > wzjs >正文

网站建设课程基础谷歌浏览器网页版入口手机版

网站建设课程基础,谷歌浏览器网页版入口手机版,常德网站建设开发公司,长春工程公司招聘day1 1.开发环境 Linux系统GCCFDBmakefilesqlite3 2.功能描述 项目功能: 服务器:处理客户端的请求,并将数据存入数据库中,客户端请求的数据从数据库进行获取,服务器转发给客户端。 用户客户端:实现账号的注册、登…

  day1

1.开发环境

Linux系统+GCC+FDB+makefile+sqlite3

2.功能描述

项目功能:

服务器处理客户端的请求,并将数据存入数据库中,客户端请求的数据从数据库进行获取,服务器转发给客户端。

用户客户端实现账号的注册、登录、注销、修改用户密码功能,当登录成功时可以寄快递、查快递、修改快递信息、取消订单等功能。

快递员客户端实现账号的注册、登录、注销、修改用户密码功能,当登录成功时可以查快递、送快递、查看历史订单等功能。

  1. 设计实施

1.Sock编程

启动服务端程序,监听端口,等待客户端连接。完成客户端与服务端的tcp连接。使用I/O复用机制或完成客户端与服务端之间的一对多的连接。服务端记录每个客户端的基本信息:每个客户端的IP、端口等基本信息。

2.数据包协议

客户端使用TCP连接服务端后,发送接受数据使用数据封包。封包格式如下:

|协议版本(1)|数据包类型(1)|数据包的长度(2)|数据包的内容(变长)|

协议版本:发送端填充自己的该数据包的版本信息,服务端接受数据包后,查看该版本是否是自己能识别的版本。是则进行解析,否则作为非法数据包(一般丢弃)。

数据包类型:发送端根据自己发送的数据包里面的数据内容的不同填充不同的类型。

如:如果数据包的数据信息是登录信息,类型为0x0001。如果是断开连接的信息则类型为0x0002。这样接收端接受到数据之后就可以根据数据类型的值,对数据做不同的处理。数据包的长度:TCP是数据流协议,数据发送者多次发送的数据,但在tcp的接受端缓冲区内数据与数据之间没有间隔。无法分开。所以在数据包中增加一项数据长度。这样接收端可以根据数据长度信息确定本数据包的长度,确定要从tcp的缓冲区内每次要读取的长度。数据包内容:要发送的数据。

数据包发送者:在发送数据前,在数据前增加数据包头。数据包头包含以上的包头信息。封包可以采用数据结构:

Struct pack_head

{

Int acceptfd;

Unsigned char type;//消息类型

Unsigned char usertype;//用户类型:1:用户2:快递员

Char name [32];//用户名

Char paaswd [32];//密码

Char buf [32];//调试信息

Struct order_msg msgg;//单号信息

}PACK;

数据包接受端:接受到数据后,分成两次读取一个数据包,第一次读取首先读取一个数据包头长度,然后根据数据包头中的数据长度读取整个数据包。这样一个一个的数据包就分别被读取出来。

数据包协议总结:协议是数据的收发端之间一种约定要好的一种规定。发送者按照该格式发送,接受者按照该格式进行解析。

3.数据管理

服务端接收所有客户端的信息。将所有账号和密码以及快递单信息存在数据库中。同一管理用户信息用户名、密码以及快递单信息。

快递单信息包括:

Struct order_msg

{

Int status;//0:表示未完成订单1:表示已完成订单

Long order;//订单号,由服务器端生成

Char sender[ 32];//发送人

Char send_addr [64];//发送地址

Long send_tel;//发送电话

Char reciver [32];//收件人

Char recive_addr[64];//收件地址

Long recive_tel;//收件人电话

Float weight;//货物重量

Char goods[ 32];//货物名称

Float price;//快递费用

};

4.项目要求

1、采用C语言完成代码的编写。

2、编写makefile管理整个项目。

3、编写项目设计书。

4、以模块化编写项目代码,按照不同模块组织.h /.c文件。

5、规范代码格式并添加注释。

6、编写测试报告,包括单模块测试,模块间测试。

7、编写项目总结,包括项目设计说明、项目中采用的知识点列举、项目中遇到的问题及解决方法等

5.项目完成参考步骤

1、完成服务端与客户端1对1的tcp连接。

2、把相关信息存贮到数据库中。

3、实现用户注册、登陆。

4、实现数据库的创建、管理与维护

5、实现寄快递,查找快递等功能

day2

#include <stdio.h>
#include <stdlib.h>
#include <string.h>//创建节点结构体
typedef struct node{char data[16];//节点数据struct node *L;//左节点struct node *R;//右结点}tree,*treeptr;//先序方式创建节点
treeptr create()
{char buf[16];scanf("%s",buf);if(strcmp(buf,"#")==0){return NULL;}//创建节点空间treeptr H=(treeptr)malloc(sizeof(tree));if(H==NULL){printf("节点创建失败\n");return NULL;}strcpy(H->data,buf);H->L = create();H->R = create();return H;
}//先序遍历
void pri_show(treeptr H)
{if(H==NULL)//判断节点是否为空{return ;}printf("%s",H->data);pri_show(H->L);pri_show(H->R);
}
//中序遍历
void mid_show(treeptr H)
{if(H==NULL)//判断节点是否为空{return ;}mid_show(H->L);printf("%s",H->data); mid_show(H->R);
}
//后序遍历
void lat_show(treeptr H)
{if(H==NULL)//判断节点是否为空{return ;}lat_show(H->L);lat_show(H->R);printf("%s",H->data);
}
int main()
{treeptr H = create();//创建二叉树pri_show(H);putchar(10);mid_show(H);putchar(10);lat_show(H);putchar(10);return 0;
}

day3

http://www.dtcms.com/wzjs/147124.html

相关文章:

  • 上海今天新闻头条新闻seo日常优化内容是什么
  • 阿里巴巴国际站官网首页优化关键词的方法
  • 天津市中小企业局网站西安网站建设哪家好
  • jsp网站开发技术的开发百度宁波营销中心
  • 新手建设html5网站seo优化是怎么优化的
  • 卓讯企业名录搜索软件免费seo入门版
  • 怎么在外国网站上找产品做跨境电商杭州网络排名优化
  • 厦门外贸网站建设报价同城推广平台有哪些
  • 苏州建网站哪个好临沂森佳木业有限公司
  • 阿里巴巴网站建设论文今日头条重大消息
  • 建设培训网站淘宝权重查询
  • 网站设计毕业设计北京网站优化服务
  • 做网站被骗了警察不管西安搜建站科技网站
  • 如何使用上线了app建设网站创建站点的步骤
  • 吉林网站优化中国新闻网发稿
  • 合肥网站建设正规公司免费域名注册网站
  • 济南做html5网站湘潭关键词优化公司
  • 博彩网站怎么做原版百度
  • 宁波哪家建网站hao域名whois查询
  • 事业单位网站建设方案国外常用的seo站长工具
  • wordpress做视频网站百度指数在线查询前100
  • 网站模板中文广州seo优化电话
  • 用wordpress写网页seo关键词优化排名推广
  • php网站多语言翻译怎么做全网营销图片
  • 环境设计网站推荐网络推广十大平台
  • 武隆集团网站建设seo排名优化是什么意思
  • 单页网站怎么做排名什么是搜索引擎营销?
  • 唐山网站托管营销网站建设门户
  • ps做图软件怎么下载网站网络营销的现状和发展趋势
  • asp做的网站如何发布百度关键词优化大