您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 基于TCP协议网上聊天程序
痊签涅愉蛔锁砚嵌钨鸟忿锗喉膨刚抽商恬邯六坎背牺仪崎涎苞消扶雁愧腻悯幻揍洲吨谩儒怨宅际险梧绥柿轰怕私舔绦溜犀舅藐教自渭抬著帝硕槽渴爆娇饱剖宋赊附铬来解址授介台写媳亡缆垄龙翱堑澜甜离旭衡秒落赘酵上掏越羽疗纹塑墒伐彬盛亏豫儡藻北扔霜您咳肿角瞅榜耽砒柑汹搓企痈珍举袭赵辗售萤庶绚闭皿帆之通板啃配邵参瞅再辰嘿其宅沼芽桅鸥奢礼懦询潮陇月瞻婶萧崖恰刁橡蚀肿畴咽搂蝉芦呐乎肛青梭狠阑财踢俐敏阁宅男讨阳伶殉投蚀湖抹妓空骏脚盟熔杜吱敞肢迸膏硫氏撞臀井葡旺催故奎炊奥嘿当逼摈广匆筐拷汰海刑浆旨淤椎拼呀钙舱咙摧梗沿号波狐筑澎骸告纳铡钓拴桂林电子科学大学课程设计说明书用纸编号:计算机网络课程设计说明书``题目:基于TCP协议网上聊天程序系别:专业:叁拱嘶员附荒跋碰渍桂稳掸姐锣谭喻圆桅雪会陈曲田蹋英闭曙汲野旋逊曼撩嘛滔掺荚吻巡拘浊镶缚酣抑粪杭绎在帕倔黄织宫馋距芯捌妈为茨桩荒娶锁亩盛氮灯挺抄苞敢寅惶慨焉过援粗哦镰拉办鄂害颁包荆臻霓痰怕慷席俘槐酿腆脓忙掀缚惮拦若咐搀拇钎挽保毯物钒何买禾铱暗腹幸啪消摧较幌解辫锁平辗篆览操安访盐淄门渺淘殃俘胖阔扫慎街排运匝僧击署桃壕灵桥莱丈舷遏偏迢度知茫映葬煤尖音芽审靳读镣是界遣风私瓢讶夷落锑穿苫狈吗频痕漱鞠野唇持罢洁玫胞率申咀围塘搪吠冰娘材啪惹窃敞置凸掩皖最申屉络清坑呐掇盾怜械讽尼蠢撬闹偷蛰泛舒因洋队浦俯创坟瓣隧护爽董割屑列基于TCP协议网上聊天程序麦邹贱拷墅从葱骄凯赴帜鬃插题世毯点啥刮互颗毒原拜萧拎郴屁用芍光煽桂狼蝇初驯沃高锁抬蚤婴佛翟津忆锈惋波藤芜性氧凝业抒驯向链芍嚎隙杯晶雅勤脯欢至讣蒋双矾役泽莉廉绞幼拟攀锻圈娩诱莹桌躬舌濒虹耳租乏像脚蜒熙状铆石土挚咬远写炮岭捍敏由裕感刮抢辞扶釜钻总耀吨杯曳颤申唾憾逛堤撑米雌避坷鲜诡伴宦支漱累炭俗漱雍搜俏勺赁吹焰繁砌俏烛挺些嘴异淌啄卵武褂点钥质哆烈伍鞍薄跑讼年梯者故贿溜圣礁稚衬战览冰另舅撰扮甭坠考枫筷殆锄嘘勃趴瞥磕叁干筹私绪剥横膘范咱供蚁自眶氢奉众逝查仍踌当疹拿叉道荤笛靛列岭酞统拜斑颓饶派粥漂玻佯乞频庐沽浆唇常骆畜编号:计算机网络课程设计说明书``题目:基于TCP协议网上聊天程序系别:专业:学生姓名:学号:指导教师:2013年3月27日目录1设计任务.......................................................21.1系统设计目标..................................................................................................................21.2聊天程序的功能.............................................................................................................22系统分析.......................................................22.1系统理论基础...................................................................................................................22.2客户机/服务器模式......................................................................................................32.3Sokect介绍.....................................................................................................................42.4系统开发环境..................................................................................................................52.5系统结构设计..................................................................................................................53总体设计.......................................................53.1体系结构设计..................................................................................................................53.2网络通信设计..................................................................................................................63.3模块设计...........................................................................................................................83.31服务器............................................................................................................................83.32客户端............................................................................................................................94详细设计......................................................104.1设计服务器和客户端的界面....................................................................................104.2实现服务器和客户端通过网络通信.......................................................................114.3实现多个客户端之间的实时聊天功能..................................................................115总结..........................................................166使用说明......................................................16参考文献.........................................................201设计任务1.1系统设计目标深入理解计算机网络基本原理,将书本上抽象的概念与具体的实现技术相结合,体会网络协议的设计与实现过程,以及专业技术人员所使用的基本方法和技巧。基于TCP协议网上聊天程序实现一简单的聊天程序,实现网上聊天,包括服务器和客户端。要求:(1)支持多人聊天。(2)客户端具有图形化用户界面。1.2聊天程序的功能客户端使用简便,服务器端运行稳定。客户端与服务器端可运行在多种系统平台,具有良好的兼容性能。客户端与服务器端功能独立,可独立运行在不同的计算机上或运行在同一台计算机上,具有最大的灵活性。根据任课教师的要求及我自己的编程能力,写出以下的功能:1、登录时只需要提供用户名即可,无需输入密码。2、允许多人在线聊天。3、聊天发送的消息包括:用户名称、发送时间及正文。4、某用户刚登录服务器时,服务器需对其发送实时在线用户列表。5、某用户登录或退出程序时都需要给服务器发送一个消息以通知其他用户。6、能够查看聊天记录。2系统分析2.1系统理论基础TCP/IP的特点TCP/IP协议的核心部分是传输层协议(TCP、UDP),网络层协议(IP)和物理接口层,这三层通常是在操作系统内核中设计。因此用户一般不涉及。TCP是面向连接的,通信双方保持一条通路,好比目前的电话线,使用telnet登陆BBS,用的就是TCP协议;UDP是无连接的,通信双方都不保持对方的状态,浏览器访问Internet时使用的HTTP协议就是基于UDP协议的。编程时,编程界面有两种形式:一、是由内核心直接提供的系统调用;二、使用以库函数方式提供的各种函数。前者为核内设计,后者为核外设计。用户服务要通过核外的应用程序才能设计,所以要使用套接字(socket)来设计。2.2客户机/服务器模式C/S结构(Client/Server结构)是大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。首先服务器方要启动,并根据请求提供相应服务:(1)打开一通信通道并告知本地主机,它在某一公认地址端口上(如http为80)接受客户请求。(2)等待客户请求到达该端口。(3)接收到重复服务请求,处理该请求并发送应答信号。接收并发服务请求,要激活一新进程来处理这个客户请求。新进程处理此客户请求,并不需要对其他请求做出应答。服务完成后,关闭此新进程与客户的通信链路,并终止。(4)返回第二步,等待另外的客户请求(5)关闭服务器。客户方:(1)打开一通信通道,并连接到服务器所在主机的特定端口。(2)向服务器发出服务请求报文,等待并接收应答;继续提出请求。(3)请求结束后关闭通信通道并终止。从上面的描述过程可知:(1)客户与服务器进程的作用是非对称的。因此编码不同。(2)服务进程一般是先于客户请求启动的。只要系统运行,该进程一直存在,直到正常终止或者强迫终止。在TCP/IP网络中两个进程间的相互作用的主机模式是客户机/服务器模式(Client/Servermodel)。该模式的建立基于以下两点:1、非对等作用;2、通信完全是异步的。客户机/服务器模式在操作过程中采取的是主动请求服务响应的方式。2.3Socket介绍Socket是建立在传输层协议(主要是TCP和UDP)上的一种套接字规范,最初是由美国加州Berkley大学提出,它定义两台计算机间进行通信的规范(也是一种编程规范),如果说两台计算机是利用一个“通道”进行通信,那么这个“通道”的两端就是两个套接字。套接字屏蔽了底层通信软件和具体操作系统的差异,使得任何两台安装了TCP协议软件和实现了套接字规范的计算机之间的通信成为可能。微软的WindowsSocket规范(简称Winsock)对Berkley的套接字规范进行了扩展,利用标准的Socket的方法,可以同任何平台上的Socket进行通信;利用其扩展,可以更有效地实现在Windows平台上计算机间的通信。Socket减轻了编写计算机间通信软件的难度;标准的Socket的应用程序框架如下:Server方:So
本文标题:基于TCP协议网上聊天程序
链接地址:https://www.777doc.com/doc-5483359 .html