TCPIP大作业-基于TCP的网络通信编程C语言版(江南大学).doc

TCPIP大作业-基于TCP的网络通信编程C语言版(江南大学).doc

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TCP/IP协议编程大作业 课题名称 基于TCP的网络通信 专 业 计算机科学与技术 班 级 计算机1206 学 号 学生姓名 物联网工程学院 摘 要 此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登陆向服务器发送登陆信息接收服务器返回的应答信息聊天: a.单聊:从在线用户中选择一个,与其单聊 b.群聊:向所有在线的用户发送消息 c.退出聊天:退出此次聊天,但不断开连接 d.退出登陆,断开连接,退出时不需要发送下线信息,直接退出 1.4面向连接的客户/服务器程序工作模型: 2、原理: 客户机在注册或登陆时首先和服务器连接,注册完或登陆失败断开连接,登陆成功不断开连接,使用send和recv发送接收数据,根据上述的数据报的定义,发送相应的数据报。 3、程序清单 3.1客户端接收器(本地服务器)代码 #includeWinSock2.h #includestdio.h #includestdlib.h #includestring.h #pragma comment(lib,ws2_32.lib) #define DEFAULT_PORT 5051//FOR RECV #define BUFFER_LENGTH 1000 void MySendMessage(SOCKET sSocket,ch

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档