- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TCPIP大作业-基于TCP的网络通信编程C语言版(江南大学)
TCP/IP协议编程大作业
课题名称 基于TCP的网络通信
专 业 计算机科学与技术
班 级 计算机1206
学 号 1030412612
学生姓名 王 成 义
物联网工程学院
摘 要
此TCP/IP课程设计实现了基于TCP的客户/服务器通信程序,具体实验过程通过有连接服务为主体,无连接服务为辅并利用事件对象I/O管理来实现。客户机具有注册,登陆,单聊,私聊,在线人数列表,退出等功能。
目 录
一、 总体设计 4
1、基本通信协议选取 4
2、通信过程设计 4
3、通信过程数据包设计 4
4、 程序流程图 5
二、 客户端程序 6
1、功能: 6
2、原理: 6
3、程序清单 6
三、 服务器端程序 19
1、功能: 19
2、原理: 19
3、程序清单: 19
四、 运行结果 35
1、 服务器端截图 35
2、客户端截图 37
总体设计
1、基本通信协议选取
TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。而UDP则不为IP提供可靠性、流控或差错恢复功能。TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。
本次实验基于TCP/IP协议利用事件对象I/O管理实现基本的聊天功能,包括注册,登录,群聊,私聊及在线人数统计。
2、通信过程设计
2.1客户端设计
本地服务器
主要功能:
1)接收远程服务器转发的消息并显示消息。
本地客户端
主要功能:
1)发送建立TCP连接的请求操作;
2)发送注册信息,登陆消息及退出请求;
3)发送群聊消息,私聊消息,在线人数统计及退出请求。
2.2服务器端设计
远程服务端
主要功能:
1)监听客户端的连接请求;
2)提供注册服务,验证登陆请求和验证功能;
3)查看在线人数,发送在线状态;
4)发送群聊消息及私聊消息。
3、通信过程数据包设计
3.1客户端数据包设计:
a.注册:
‘0’ user(用户名) ‘@’ password(密码) b.登陆:
‘1’ user(用户名) ‘@’ password(密码) c.聊天:
0)群聊:
‘2’ user(用户名) ‘@’ str(内容) 1)单聊:
‘5’ str1(单聊对象名) ‘@’ user(用户名) ‘*’ str(内容) 2)在线用户
‘4’ user(用户名) ‘@’ str(内容) 3)退出(登录):
‘3’ user(用户名) ‘@’
3.2服务端数据包设计:
a.注册应答:
‘00’—注册成功 ‘01’—注册失败—用户名已存在 b.登陆应答:
‘10’—登陆成功 ‘12’—用户名不存在 ‘11’—密码不正确 ‘1@’—该用户已登陆 c.聊天:
1)单聊:
‘61’—单聊对象不在线 ‘50’—单聊对象在线 ‘60’—单聊对象不存在 2)群聊:
‘30’—广播消息 ‘31’—非正确用户的消息,不广播 3)在线人数:
‘40’—显示当前在线人数并发给查询客户
程序流程图
客户端程序
1、功能:
1.1注册:向服务器发送注册信息。然后接收服务器返回的应答信息。
1.2登陆:向服务器发送登陆信息。接收服务器返回的应答信息。
1.3聊天:登陆成功后,选择群聊或单聊进行聊天,选择在线用户可进行查询当前在线用户,选择退出可退出登录。
a.单聊:从在线用户中选择一个,与其单聊
b.群聊:向所有在线的用户发送消息
c.退出聊天:退出此次聊天,但不断开连接
d.退出登陆,断开连接,退出时不需要发送下线信息,直接退出
1.4面向连接的客户/服务器程序工作模型:
2、原理:
客户机在注册或登陆时首先和服务器连接,注册完或登陆失败断开连接,登陆成功不断开连接,使用send和recv发送接收数据,根据上述的数据报的定义,发送相应的数据报。
3、程序清单
3.1客户端接收器(本地服务器)代码
#includeWinSock2.h
#includestdio.h
#includestdlib.h
#includestring.h
#p
您可能关注的文档
- Genemapper微卫星分析中文操作指南.docx
- Cisco线缆大全.doc
- IncidentInvestigation事故调查程序.doc
- IE-MAR-全国饮用水水质卫生监测信息系统操作手册-V10.docx
- IIR数字滤波器的设计.doc
- IT运维管理一体化模式.docx
- Hyper-V安装与配置1.docx
- Java基于socket网络编程的超市收银管理系统.doc
- IT驻场服务-客户端运维管理规范V1.docx
- Java面向对象程序设计课程设计.doc
- TGXAS-艾滋病常见病症中医外治规范.pdf
- DB44T1841-2016 有机乌龙茶生产技术规程.pdf
- DB1404T19-2021 消毒用UVCLED术语与定义.pdf
- DB62T1120-2024 绿色食品 蚕豆生产技术规程.pdf
- DB53T1300-2024 烤烟地膜覆盖与回收技术规程.pdf
- DB37T4649.2-2023 智能制造第2部分:智能工厂评价体系指南_地方标准.pdf
- TNNCP3-2020 食品安全-南漳银杏.pdf
- DB65T3650-2014 零散烈士纪念设施保护管理规范.pdf
- DJG330212T-宁波市鄞州区党政机关单位节能管理规范.pdf
- DB65T3844-2016 雪菊收购分级质量要求.pdf
文档评论(0)