| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

基于TCP协议的通讯录网络应用课程设计报告

文***享

贡献于2023-03-21

字数:8446


网络应课程设计报告



系 (院): 计算机科学学院
专业班级: 计科
姓 名:
学 号:
指导教师:
设计时间: 2017612 2017623
设计点: 4教软件工程机房





目录
课程目意义 1
二系统需求分析 1
21设计题目 1
22 系统需求 1
三 详细设计 2
31设计成果心 3
四 总结 4
五 附录 4














课程目意义
计算机网络课程设计目学生更深入掌握计算机网络核心容实现理实践相结合学生具体实践成果体现理知识掌握程度利学生提高计算机网络实践力加深计算机网络理知识理解基目:
1培养学生理联系实际设计思想训练综合运学基础理知识结合生产实际分析解决网络应中问题力基础理知识巩固加深
2学掌握网络应工程般设计程方法
二系统需求分析
21设计题目
题目2:基TCP协议通讯录
22 系统需求
1需录入联系通讯录中
2够通讯录中项信息进行添加删浏览等系列操作
3够完成通讯录基功
4程序具定健壮性会户输入错误引起程序运行错误中 断执行输入值类型范围字符串长度等进行正确性检查合法输入值出出错信息指出错误类型等重新输入
5删数应出警告
23 功分析
1添加功:选择功户手动输入联系项信息
2查功:选择功时选择根种信息查询联系电话住址性邮箱QQ等项信息
3删功:选择功时够通输入联系姓名者电话删联系全部信息
4退出系统功:选择功时够退出系统保存数
菜单
功结构图:



添加联系
删联系
查联系
退出






输入意键进入菜单
流程图




输入0~3选择功
1:查
2:添加
3:删
4:退出


输入2:添加项信息添加
输入1:查项信息






输入4:退出
输入3:删学号




三 详细设计
套接字应层传输层接口准确说Socket作应程序TCPIP协议交互接口通Socket区分TCPIP连接应程序进程
TCP客户端服务端流程图:

服务端:
void Start() 创建套接字
stdlist m_list链表类 链表象
CSocket m_sock 定义套接字
BOOL Browse(CSocket *pSocka)查联系信息
BOOL AddData(CSocket *pSocka)添加联系信息
BOOL OnReceive(CSocket* pSocka)收发数
BOOL Delete(CSocket *pSocka)删信息
客户端:
void Delete()删数
void Print()输入数
void Input()添加数
int Menu()创建菜单
void Start()创建套接字
31设计成果心
添加功:客户端运行结果:

服务端运行结果:

删功:
客户端运行结果:
服务端运行结果:

文档保存删:

四 总结
紧紧张张两周课设刚开始手程序想法运行心里时时种喜悦通两周课设认识书老师教容限想掌握更知识必须动脑思考断学时应请教解更知道知识回头编写程序原想难相信做什事仔细思考认真做定做 通周编程发现足编写时常犯低级错误马虎浪费少时间知进行时候种信总想正做什足然发现做事中注意争取改掉 两周努力掌握基C++进行程序设计技巧更深理解运结构化程序设计思想方法掌握开发型实系统基方法时学会调试较长程序基方法提高书写程序设计开发文档力(书写课程设计报告)周实践受益匪浅感谢孜孜倦指导老师感谢困惑时帮助学感谢学校样动手动脑机会理实践相结合方面次锻炼收获
五 附录
服务端代码:
Studenth中代码:
Studenth interface for the CStudent class



#if defined(AFX_STUDENT_H__51E819EA_E8BD_4CCD_9E03_F45C00E0494F__INCLUDED_)
#define AFX_STUDENT_H__51E819EA_E8BD_4CCD_9E03_F45C00E0494F__INCLUDED_
#include
#if _MSC_VER > 1000
#pragma once
#include
#endif _MSC_VER > 1000
enum {PORT10011}
enum {

REQ_ADD0x1111
REQ_DEL
REQ_MOD命令号
REQ_FIND
REQ_BROW
}
typedef struct SStud
{ int nNumb
char sName[20]
char sAge[20]
char sSex[4]
char sUnit[20]
char sAdd[20]

}DATA
class CStudent
{
stdlist m_list链表类 链表象 保存SaveLoad中
CSocket m_sock客户端通信socka象
BOOL Browse(CSocket *pSocka)
BOOL AddData(CSocket *pSocka)
BOOL OnReceive(CSocket* pSocka)
BOOL Delete(CSocket *pSocka)
public

void Load()
void Save()

void Start()
CStudent()
virtual ~CStudent()

}

#endif defined(AFX_STUDENT_H__51E819EA_E8BD_4CCD_9E03_F45C00E0494F__INCLUDED_)
Studentcpp代码:
Studentcpp implementation of the CStudent class



#include stdafxh
#include Studenth
#include
#include
#include
#include
using namespace std

ConstructionDestruction


CStudentCStudent()
{

}

CStudent~CStudent()
{

}


void CStudentStart()
{
WSADATA wd
WSAStartup(0x0202&wd)套接字初始化
if( m_sockCreate (PORT))
{
cout <<端口创建失败 << WSAGetLastError() < return
}
m_sockListen()
CSocket socka
sockaddr_in sa
int nLen sizeof(sa)
while(m_sockAccept(socka(sockaddr*)&sa&nLen))
{
cout <<户登录:< while(OnReceive(&socka))

sockaClose ()关闭客户端服务器连接
}
}
网络协议:
硬件协议
协议命令+附加数
1DATA
2nNumb
BOOL CStudentOnReceive(CSocket *pSocka)
{返回值决定否继续该登陆户通讯(否断开连接)
int nCmd0
if(pSocka>Receive(&nCmdsizeof(nCmd))<0)
return FALSE
switch(nCmd)
{

case REQ_ADD
return AddData(pSocka)

case REQ_DEL
return Delete(pSocka)

case REQ_MOD
break
case REQ_FIND
break
case REQ_BROW
return Browse(pSocka)
}
return FALSE}
BOOL CStudentAddData(CSocket *pSocka)
{
DATA d
FILE *fp
if(pSocka >Receive(&dsizeof(d))<0)
return FALSE
服务器收客户端传信息存入4txt中
fpfopen(4txta)
if(fpNULL)
printf(开文件失败)
fprintf(fp\n)
fprintf(fpddnNumb)
fprintf(fp\t)
fprintf(fpsdsName )
fprintf(fp\t)
fprintf(fpsdsAge )
fprintf(fp\t)
fprintf(fpsdsSex )
fprintf(fp\t)
fprintf(fpsdsUnit )
fprintf(fp\t)
fprintf(fpsdsAdd )
fprintf(fp\t)
fprintf(fp\n)
fclose(fp)
system(@color 0a)
cout<<学号\t姓名\t年龄\t性\t单位\t手机号码< cout<m_listpush_back(d)
return TRUE
}
BOOL CStudentBrowse(CSocket *pSocka)
{system(cls)
int nm_listsize()
pSocka>Send(&nsizeof(n))
listiterator itm_listbegin()
while(itm_listend())
{
DATA&d*it++ it指结构体数赋itit 移动
pSocka>Send(&dsizeof(d))
某项信息删更新文件
FILE *fp
int nm_listsize() 删n变化
fpfopen(4txtw)
fprintf(fp\n)
fprintf(fpddnNumb)
fprintf(fp\t)
fprintf(fpsdsName )
fprintf(fp\t)
fprintf(fpsdsAge )
fprintf(fp\t)
fprintf(fpsdsSex )
fprintf(fp\t)
fprintf(fpsdsUnit )
fprintf(fp\t)
fprintf(fpsdsAdd )
fprintf(fp\t)
fprintf(fp\n)
fclose(fp)
system(@color 0a)
cout<<学号\t姓名\t年龄\t性\t单位\t手机号码<cout<void CStudentSave()
{}
void CStudentLoad()
{}
BOOL CStudentDelete(CSocket *pSocka){
int nNumb
if(pSocka>Receive (&nNumb sizeof(nNumb))<0)连接
return false
listiterator itm_listbegin()查找链表
while(itm_listend())
{if(it>nNumb nNumb)找nNumb
{m_listerase(it)删nNumb
return true}++it}return true}
客户端代码:
Studenth中代码:
Studenth interface for the CStudent class


#if defined(AFX_STUDENT_H__B679D35B_EF78_4F77_A33E_E69960383116__INCLUDED_)
#define AFX_STUDENT_H__B679D35B_EF78_4F77_A33E_E69960383116__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif _MSC_VER > 1000
#include
#include
system(color AB)
COLOR[A]
enum {PORT10011}
enum { REQ_ADD0X1111
REQ_DELREQ_BROW}
typedef struct SStud
{
int nNumb
char sName[20]
char sAge[20]
char sSex[4]
char sUnit[20]
char sAdd[20]}DATA
class CStudent
{public
void Delete()
void Print()
void Input()
int Menu()
void Start()
CSocket m_sock
CStudent()
virtual ~CStudent()}
#endif defined(AFX_STUDENT_H__B679D35B_EF78_4F77_A33E_E69960383116__INCLUDED_)
Studentcpp中代码:
Studentcpp implementation of the CStudent class



#include stdafxh
#include Studenth
#include
#include
#include
#include

using namespace std

ConstructionDestruction


CStudentCStudent()
{

}

CStudent~CStudent()
{

}

void CStudentStart()
{
WSADATA wd套接字初始化
WSAStartup(0x0202&wd)
if(m_sockCreate ())
{
cout <<网络启动失败 << WSAGetLastError() < return
}
if(m_sockConnect(10201155PORT))
{
cout <<连接网络服务器时失败(错误号码:<< WSAGetLastError()<<)< return
}
while(Menu())
}int CStudentMenu()
{system(color 0a)
cout <<\n\n\n\t\t********欢迎基TCP通讯录*********** < cout <<\t\t 1显示联系信息 <cout <<\t\t 2添加联系信息 <cout <<\t\t 3删联系信息 <cout <<\t\t 0退出 <cout <<\t\t****************************************** <cout<<请输入想执行功序号:<int i0
cin >>i
switch(i){
case 1
Print()
break
case 2
Input()
break
case 3
Delete()
break
}return i}
void CStudentInput()
{ DATA d
cout <<请输入学号:<cin >>dnNumb
cout <<请输入姓名:<cin>>dsName
cout<<请输入年龄:<cin>>dsAge
cout<<请输入性:<cin>>dsSex
cout <<请输入单位:<cin >> dsUnit
cout <<请输入手机号码:<cin >> dsAdd
int nCmdREQ_ADD
m_sockSend(&nCmdsizeof(nCmd))
m_sockSend(&dsizeof(d))
Print()}
void CStudentPrint(){
system(color 0a)
int nCmdREQ_BROW
m_sockSend(&nCmdsizeof(nCmd))
DATA d
int n0
m_sockReceive(&nsizeof(n))
system(cls)
cout<<学号\t姓名\t年龄\t性\t\t单位\t\t手机号码< while(n) {
m_sockReceive(&dsizeof(d))
cout<< dnNumb<<\t<system(pause)}
void CStudentDelete(){
cout<<请输入删学号:
int nNumb
cin>>nNumb
cout<<确定删学号?[yn]
char cgetch()
putch(c)
if(c'Y'||c'y') {
int nCmdREQ_DEL定义协议号命令号
m_sockSend(&nCmdsizeof(nCmd))发送协议号
m_sockSend(&nNumb sizeof(nNumb))发送命令号(学号) }
Print()}
长江学

文档香网(httpswwwxiangdangnet)户传

《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 2 香币 [ 分享文档获得香币 ]

该文档为用户出售和定价!

购买文档

相关文档

基于TCPIP协议的网络通信小应用程序课程设计

XX大学理学院( 计算机网络 )课程设计实验时间: 2010学年第二学期 专业年级: 2008级应数X班 实验题目: 基于TCP/IP协议的网络通信应用程序 学生姓名: 学号 自评成绩_95教师评成绩___学生姓名: 学号

文***享 3年前 上传592   0

C语言课程设计通讯录管理系统

 课程设计报告书 课程名称: C语言课程设计 班 级: 学 号: 姓 名: 指导老师: 设计时间:

文***品 5年前 上传2401   0

C语言课程设计学生通讯录管理系统设计

C语言课程设计学生通讯录管理系统设计一、题目内容的描述学生通讯录管理系统设计设计一个学生通信录,学生通迅录数据信息构成内容可自行设计(如:姓名、家庭地址、邮政编码、电话号码等等),通信录数据类型定义为结构体类型。由键盘输入数据(最好要考虑输入数据输入的格式及输入数据的有效性),然后进行以下的功能实现。程序要求主函数是一个功能选择菜单,其它各功能都用各自的函数实现。功能要求

文***享 4年前 上传721   0

基于UML的图书馆管理系统设计《软件工程》课程设计网络教育

 网络教育学院《软件工程》课 程 设 计 题 目: 基于UML的图书馆管理系统设计学习中心:

文***享 1年前 上传256   0

基于MATLAB的ASK调制解调实现课程设计

大学《通信原理》课程设计报告学 院 专 业 班 级 学 号 学生姓名 指导教师 课程成绩 完成日期 2016年X月X

文***品 3年前 上传729   0

基于UML的图书管理系统设计课程设计

滨江学院 统一建模语言课程设计报告( 2013 -- 2014 年度第 二 学期)课程名称: 统一建模语言课程设计 题 目: 图书馆管理系统 院 系: 计算机系 班 级: 学 号: 姓 名:

文***品 1年前 上传399   0

基于arm键盘课程设计

基ARM课程设计 专 业:自动化学 号:姓 名: 在ARM嵌入式应用中,人机交互对话最通用的方法就是通过键盘和LCD显示进行的,本设计是通过键盘向系统发送各种指令或置入必要的数据信息。键盘模块设计的好坏,直接关系到系统的可靠性和稳定性。1 实例说明在ARM应用系统中,键盘扫描只是ARM的工作之一,ARM在忙于各项工作任务时,如何兼顾键盘的输入,则取决

文***品 2年前 上传474   0

基于8051的智能小车设计课程设计

测控电路课程设计题目名称: 智能循迹小车 专业班级: 学生姓名: 学 号:

文***品 2年前 上传587   0

基于plc的交通灯的设计课程设计

任务说明书一、 控制要求:1、系统控制示意图由十字路口交通灯示意图可以知道,在南北和东西主干道上各有一盏红绿灯;在南北和东西人行道上各有一盏红灯和绿灯。2、控制要求 启动及停止按钮的控制,当按下启动按钮时,信号灯系统开始工作,并且周而复始的开始工作,当按下停止按钮时信号灯停止工作,且信号灯的状态回复到初始状态。

文***品 3年前 上传896   0

网络工程课程设计

XX学院网络工程类课程设计题 目:XX学生公寓网络设计与实现 学 号: 姓 名: 指导老师: 2013年X月X

文***品 3年前 上传789   0

单片机课程设计报告基于单片机的温控系统

职业学院机械与电子工程学院基于单片机温控系统课程设计报告班 级 电信班 学生姓名 学 号 指导教师 时 间 2011 目录摘 要 I1系统方案设计及组成 I2系统设计 1

文***品 3年前 上传1003   0

C语言实训报告(手机通讯录)

通讯录1、问题的定义根据需求,该系统所应包含的信息有以下一些:通讯录的基本信息:姓名、手机号码、电话、及家庭住址。根据需求,该系统所应实现的功能有以下一些:各种基本数据的录入。如:通讯录基本信息录入。各种基本数据的修改。即:允许对已经录入的数据重新进行编辑、修改。例如修改通讯录中张三的电话信息各种基本数据的删除。例如将“张三”的信息从通讯录中删除基于各种数据的查询。例如输入“张

文***享 3年前 上传429   0

C语言通讯录报告及源代码

XX学院《C语言程序设计》课程设计报告 学 院:_电气与信息工程学院_ 专业班级: 计科班 学生姓名: 学 号: 设计地点(单位)________计算机基础自主学习中心 __ __设计题目:__ 个人通讯录设计_________________

文***享 3年前 上传357   0

青少年网络应用现状调研报告

青少年网络应用现状调研报告青少年网络应用现状调研报告     摘要:团区委于2010年12月—2011年1月期间对本区21所中学、职业学校的在校中学生进行随机调查,本文报告了关于我区青少年网络应用情况的调查结果、思考和建议。调查结果表明,中学生大都有上网经历,上网主要以聊天、获取学习信息、聊天交友、网络游戏为主,且大都很喜欢网络游戏。有相当多一部分青少年存在网瘾倾向,不过目前网络还未影响

喵***了 10年前 上传538   0

10干事通讯录

电子信息学院第九届干事通讯录 部门 姓名 班级 长号 短号 QQ号 寝室号 办公室 董立华 电信班 15072505868 619225 598373308 A1-310 杨  艳 印刷班 15072504715 619033 971973167 A1-314 陈青云 应用电子1班 15926949646   854768181 走读 陈晓丽

小***辉 5年前 上传1353   0

简易充电器课程设计电力电子应用设计报告

 综合成绩优秀( )良好( )中等( )及格( )不及格( )教师(签名)批改日期年 月 日电力电子应用课程设计报告院系 电子与电气工程学院 专业 电气及其自动化 班级 电气 学号

文***享 2年前 上传355   0

哈夫曼树应用数据结构课程设计报告

数据结构课程设计报告设计题目:哈夫曼树应用 专 业 : 软件工程 班 级 : 软件 学 生 : 学 号 : 指导教师 : 起止时间 :2011-07-04—2011-07

文***品 2年前 上传473   0

数值分析课程设计报告求积公式的实际应用

数值分析课程设计积分方法的实际应用数值分析课程设计报告求积公式的实际应用学 院数学与统计学院专 业信息与计算科学学 号姓 名指导教师成 绩教师评语:指导教师签字: 2018年 X 月 X 日1 绪论数值分析是计算数学的一个主要部分,计算数学是数学科学的一个分支,它研究用计算机求

文***品 1年前 上传326   0

单片机原理及应用课程设计

单片机课程设计数字音频频率测试仪班级:电气姓名:学号:日期:2010年X月X日 目录一、课程设计要求···········································1软硬件设计要求············································1二、设计思路 2.1.程序设计基本思路···················

文***品 3年前 上传805   0

数据库原理及应用课程设计

数据库原理及应用课程设计设计报告题 目:学校人力资源管理系统 学 号: 学生姓名: 指导教师: 提交时间: 目录第1章 需求分析 11.1 需求调查 11.2 系统功能

文***品 3年前 上传755   0

有源逆变技术的工程应用课程设计

 编 号: 审定成绩: 重庆邮电大学课程(综合)设计报告设计题目:有源逆变技术的工程应用学 院 名 称 :自动化学院学 生 姓 名 :专

文***品 3年前 上传449   0

移动应用开发课程设计

《移动应用开发》课程设计报告学院名称: 计算机与信息工程学院 班级名称: 计科对口 学生姓名: 学 号: 题 目: 基于《个人理财通》的计算器 任课教师姓 名: 起止日期:

文***品 3年前 上传592   0

电气控制技术课程设计基于PLC电子计算器课程设计

 电气控制技术课程设计说明书 电子计算器 学生姓名: 专 业: 自动化 班 级: 学 号: 指导教师: 职称 副教授 完成时间: 2015年X月

文***品 1年前 上传313   0

网络工程实践课程设计报告设计200个机位的网吧

网络工程实践课程设计报告题 目:规划设计一个拥有200个机位的网吧 学生姓名: 学 号: 专业班级: 信息系统与信息管理班 同组姓名:  

文***品 2年前 上传666   0

计算机网络工程课程设计报告(园区网)

网络工程实践 课程设计报告课 题: 园区网设计 姓 名: ########### 学 号: ############ 同组姓名: ######################### 专业班级: ########################指导教师:

文***品 3年前 上传770   0