网络编程课程设计-简单的聊天室程序设计
Socket UDP
《网络编程技术课程设计》论文
2012 — 2013学年第二学期
题 目:专业班级: 网络10-5班
学 号: 311009040504
姓 名: 王亚歌
指导老师: 日 期:
Socket UDP
目 录
一、引言……………………………………………………………2
二、基础理论………………………………………………………2
1、UDP协议简介…………………………………………………2
2、系统需求分析……………………………………………………3
三、功能设计………………………………………………………4
1、设计目的……………………………………………………4
2、设计要求……………………………………………………4
四、 系统实现……………………………………………………5
1、原理概述……………………………………………………5
2、程序设计流程………………………………………………5
五、 设计过程…………………………………………………6
1、程序设计流程及源代码……………………………………6
源代码…………………………………………………………6
主机A………………………………………………………6
主机B………………………………………………………10
2、调试分析过程描述…………………………………………15
3、结果分析……………………………………………………15
六、结论……………………………………………………………16
[参考文献]…………………………………………………………16
Socket UDP
一、 引言
随着计算机科学和 Internet 的飞速发展,网上聊天室已成为人们相 互交流的一种方式,与 E—mail 电话相比,聊天服务更具有实时性和 有效性。本课题是 java基于UDP协议的聊天程序。聊天室分为客户 端和服务器端,服务器端程序主要用来负责侦听客户发来的消息,客 户端需要等服务器登录成功以后检测到服务器存在的情
【关键词】UDP 协议;网络聊天室;.Windows Socket 网络编程
二、基础理论
1、UDP协议简介
Windows Socket 网络编程简介 Windows Sockets 规范本意在于提供给应用程序开发者一套简单的 API,使应用程序开 发者能够使用,并且网络软件供应商能够实现的一套库函数调用和相关语义。现在的 Windows Sockets 已经基本上实现了与协议无关,你可以使用 Windows Sockets 来调用多种 协议的功能,但较常使用的是 TCP/IP 协议。
Socket 实际在计算机中提供了一个通信端口, 可以通过这个端口与任何一个具有 Socket 接口的计算机通信。应用程序在网络上传输,接 收的信息都通过这个 Socket 接口来实现。微软为 VC 定义了 Windows Sockets 类如CAsyncSocket 类和派生于 CAsyncSocket 的 CSocket 类,它们简单易用。 根据传输数据类型的不同,Socket 主要分为三类:1)流式 Socket(SOCK—STREAM),在 这种方式下,两个通讯的应用程序之闻要先建立一种虚拟的连接,提供可靠的、面向连接的 通 信 流 , 它 使 用 ”TCP” 协 议 。 从 而保证了数据传 输 的 正 确 性 和 顺 序 的 。 2) 数 据 报 Socket(SOCK—DGRAM),它使用数据报协议 UDP,定义了一种无连接的服务,数据通过相互 独立的报文进行传输,是无序的,并且不保证可靠、无差错。3)原始 Socket,原始套接字 允许对底层协议如 IP 或 ICMP 直接访问, 它功能强大但使用较为不便, 主要用于一些协议的开发。
UDP 协议简介 UDP 协议是一个面向无连接的协议。其连接的建立不必像 TCP 那样需要服务器端侦听, 也不需要有客户机请求连接, 属于一种“强制”
Socket UDP
性的网络连接。 提供一对一或一对多的、 UDP 无连接的数据报服务。该服务对消息中传输的数据提供不可靠的、最大努力的传送,这意味 着它不保证数据的到达,也不保证所传送的数据报的顺序是否正确,UDP 不重新传输丢失的 数据。其主要工作是:将应用程序传输过来的数据分块交给网络层,确认接受到分组信息。
尽管 UDP 无法像 TCP 一样提供可靠的数据传输,但 UDP 并不比 TCP 缺乏优越性。UDP 在传输 效率方面比 TCP 要高一些, 而且许多应用程序并不需要保证严格的传输可靠性, 比如视频会 议系统等,需要实时的交互,但并不要求音频视频的绝对正确。
● UDP 优缺点: 1.UDP 不要求保持一个连接; 2.UDP 没有因接收方认可收到数据包(或者当数据包没有正确抵达而自动重传)而带 来的开销; 3.设计 UDP 的目的是用于短应用和控制消息; 4.在一个数据包连接一个数据包的基础上,UDP 要求的网络带宽比 TCP 更小。
2、系统需求分析
(一) 客户需求分析 分析客户的需求,这里只列出比较核心的部分。 (1) 只限于局域网内聊天。 (2) 简易的操作界面。 。 (3) 可以同时与多个人聊天。
(4) 可以保存聊天记录。
(二)性能需求分析 (1)可靠性高,能在由于系统问题或其它原因产生错误后,作出相对应处理,比如网络 初始化失败、服务器不在线等,可以提示用户安全退出本程序,在出现不可知的错误以后, 可以尽量安全的退出程序。 在程序的设计过程中, 要求能尽可能多的设想到用户使用过程中 可能发生的事件,并能在判断事件后做出相应的处理,使程序具有较高的容错性能。 (2)宜操作性,程序简单易懂,容易上手使用。设计界面是,简化界面的复杂性,模拟 QQ 等现有即时通讯工具的界面,使用户能很容易看懂并使用。(3)开发文档易理解,保证以后自己开发时,能够清晰的理解整个系统的设计思路和实 现细节。
(4) 模块化设计此软件的功能, 不同的模块实现不同的功能, 使得软件易于维护与扩展。
(三)运行需求分析 (1)用户界面 程序较小,启动速度快,无启动界面。
Socket UDP
在本地局域网中使用,所以无需进行用户登录, 无需认证界面,启动后的应用界面要清爽,设计要简单明了,要具有较高的易用性。 (2)故障处理 在遇到可预知的故障与情况时, 能提示用户并自动退出; 在遇到不可预知的故障时能安 全退出。
三、功能设计
开发一个专用于实现两台计算机之间即时通讯的软件,以方便两台计算机之间信息的交流。,在连接并通信时,尤其是近程的即时通讯,彻底的脱离了远程的服务器,避免了和远程服务器连接时过多的浪费网络资源。并且避免了服务器忙或与服务器无法连接时,浪费过多时间用于和服务器建立连接!因此,这个软件是极具适应性和实用性的即时通讯软件!本次课程设计的目的是学习基于UDP协议实现网络聊天程序,已达到学会面向无连接方式的程序设计方法,并理解网络编程中面向无连接的概念。
1、课程设计的内容
用户数据报(UDP)是一个无连接协议,使用这种协议时,需要在两台计算机之间建立固定的连接,也就是说,通信双方没有服务器和客户机之分,它们之间进行的是对等通信,所以它的优势很明显,是现代通信不可或缺的一部分。所以,利用它的优势设计一个可以实现私聊和群聊的软件,实现两台计算机间的即时通讯。
2、 课程设计要求
基于UDP协议实现一对一的聊天的聊天,提供友好的用户界面,便于用户进行操作。根据目前 …… 此处隐藏:2399字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [求职职场]加法运算定律的运用练习题
- [求职职场]大型石油化工工业过程节能新技术
- [求职职场]2015-2020年中国箱纸板行业分析与投资
- [求职职场]NADEX-IWC5A点焊机故障代码
- [求职职场]英语阅读 非常有用
- [求职职场]鲁卫疾控发〔2012〕2号(联合,印发山东
- [求职职场]2014年莆田公务员行测技巧:数字推理的
- [求职职场]基于最近发展区理论的高中数学课堂有效
- [求职职场]与贸易有关的知识产权协议
- [求职职场]【王风范】微演说·职场演说三
- [求职职场]新时代国珍健康大课堂
- [求职职场]群论期末考试复习题
- [求职职场]施工现场消防安全专项施工方案(范本)-
- [求职职场]初中物理光学知识点归纳完美版
- [求职职场]毕业设计总结与体会范文
- [求职职场]江南大学2018年上半年展示设计第1阶段
- [求职职场]景尚乡民兵参战支前保障方案
- [求职职场]【优质】2019年工会职工之家建设工作总
- [求职职场]数据库技术与应用—SQL Server 2008(第
- [求职职场]汽车变速箱构造与工作原理
- 首钢工业区工业遗产资源保护与再利用研
- 第4课 《大学》节选
- 2016程序文件——检验检测结果发布程序
- 2011年高考试题文言文阅读全解释__2011
- 化学是一门基础的自然科学
- 海外做市商制度的借鉴意义
- 外国建筑史复习资料(
- 七年级下思想品德期末综合测试(二)
- 思政课部2013年上学期教学工作总结
- 电大国际公法任务3 0004
- 《圆的认识》教学设计
- 中国轨道交通牵引变流器行业市场发展调
- 中泰证券#定期报告:坚守时代硬科技和
- 浅论企业财务管理与企业经营投资风险的
- 大功率半导体激光器光纤耦合技术调研报
- 中国传统家具的现状与发展探讨
- Broadcom数字电视芯片助海尔扩展高清电
- 新HSK4词汇练习 超全(五)
- 2013届高考数学单元考点复习12
- 雨霖铃精品课件




