基于TCP和UDP协议的聊天软件设计与实现

来源 :电脑迷·上旬刊 | 被引量 : 0次 | 上传用户:god_save_me
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:在网络盛行的今天,涌现了众多的网络聊天软件,如 QQ、MSN、UC 等,其核心编程思想是一样的,都使用了 TCP 或 UDP 协议和多线程技术,TCP和UDP协议是传输层中的重要协议。故本文基于TCP和UDP协议,采用java语言,完成聊天软件具有的最基本功能,包括文本信息的发送和接收,以及文件信息的发送与接收。
  关键词: TCP;UDP;JAVA ;聊天软件
  1 项目开发的整体思路
  聊天程序,一般都是采用 C/S 模式。这样的模式有利于用户体念。
  聊天程序主要是依赖于传输层来实现,在传输层中有两个重要的协议:TCP协议和UDP协议。其中 TCP 协议是一个面向连接的协议,本协议在进行网络传输过程中必须建立一个安全的连接,UDP是一种无连接的协议,所传输的数据不会进行安全检查。
  操作系统版本为Windows 7。JDK版本为jdk1.8.0_45。开发选择的IDE为Eclipse IDE for Java EE Developers。
  2 项目实现的过程
  2.1 界面实现
  本文使用JAVA的Swing开发工具包。
  上述代码中展示了界面实现的核心代码,包括修改程序窗体名称等。
  主界面主要采用了3个文本框和3个按钮。其中,最上面的文本框负责历史聊天记录的显示;中间的文本框负责确定用户的昵称。3个按钮依次为“传递文件”、“接收文件”、“发送”。
  2.2 功能实现
  使用过程中,文本信息的发送与接收以及文件信息的发送与接收这些功能可能会同时进行,所以需要采用多线程技术。
  2.2.1接收消息线程的实现
  这里接收消息线程采用的是UDP协议。
  DatagramSocket(int prot):创建一个DatagramSocket实例,并将该对象绑定到本机默认IP地址、指定端口。
  DatagramPacket(byte[] buf,int length):以一個空数组来创建DatagramPacket对象,该对象的作用是接收DatagramSocket中的数据。
  这里,发送消息时,首先需要知道接收端的IP地址。然后需要获取当前的系统时间,对待发送的消息进行格式标准化。
  这里,首先是获取需要发送的文件的名称,然后以普通文本信息发送的形式,将该条请求发送到接收端,接收端接收到该请求后,会把确认请求的反馈反馈回发送端,这样就模拟了TCP的“三次握手”确认。
  该线程需要完整的读取该文件的所有数据,所以用了一个while循环,当读到文件末尾后,循环结束,关掉所有的流,文件发送成功。
  2.2.5接收文件线程的实现
  在此线程中,需要通过一个文件夹选择对话框选择文件需要保存的名称以及路径。
  3 项目实施
  (1)这里需要运行两个客户端,使用Eclipse的工程,即可完成两个客户端的建立。建立两个空的JAVA工程。示例图如图3-1所示:
  (2)将通用的java文件MyQQ.java依次拷贝到两个工程的src。示例图如图3-2所示:
  (3)分别运行两个工程,显示出两个客户端的界面。
  (4)下面需要依次对两个客户端进行配置。
  (5)依次设置两个客户端的参数。
  同理,右边客户端的文本接收端口、文件接收端口即是左边客户端的目标文本端口、目标文件端口,而两个客户端运行在同一台电脑上,所以这里的目标接收地址皆可以填localhost即本机。
  设置完成后点击“确定”按钮,即会在本地生成一个设置文件。如图3-3所示。
  (6)由小华发起“传递文件”,小明进行接收。
  4 结语
  本文介绍了项目实现的具体过程,包括界面实现以及多线程中各个线程的实现,最后介绍了项目实施的过程。
  完成此次毕业设计,我熟悉了TCP、UDP协议,掌握了java的socket通信以及Swing界面编程。同时学会了对软件进行需求分析,能够将需求抽象成功能,进阶将功能实现成函数,降低功能之间的耦合性。
其他文献
数字、模拟之争无悬念数字是主流,前端是重点数字安防几乎渗透在每一个解决方案里,是被普遍认可的技术发展趋势。模拟方案凭借深厚的市场积淀和传统优势也占据一方空间。但两
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥
近年来,随着特殊教育进程的加快,我国高校逐步开展高等融合教育。在融合教育的环境下,听障大学生在生活、学习等方面将获得来自同学、学校和社会的帮助,这有助于提高听障大学生适应能力。然而在实际教育教学中也开始出现了许多的问题,笔者以《图像处理软件》这门课程的教学实践谈谈自己的一些体会。
近年来,中国安防监控市场迅猛发展,吸引了中国电信、中国联通、中国移动等通信企业的大举进入。依靠“全球眼”和“宽视界”等产品,中国电信、中国联通、中国移动等企业把运
“创新”一词早已为人们所熟知,近年来,几乎各行各业都在探究“创新”,有人将其称为企业成长的灵魂,有人将其视为产业发展的源动力.然而,我们更应该清醒地认识到,创新并非一
期刊
期刊
目的 构建miR-23a-27a簇真核表达载体并初步探讨该簇的靶基因及其功能.方法 应用分子克隆的方法构建联合表达pre-miR-23 a-27a簇及单独表达pre-miR-23a、pre-miR-27a的真核载体,应用双荧光素酶报告基因试验和real-time PCR验证该载体表达的有效性,应用microRNA靶基因预测软件和双荧光素酶报告基因试验寻找及鉴定pre-miR-23a-27a的靶基因
金对中国人来说有特别的寓意,可作为出生的礼物,也是财富的象征。高端化妆品也清一色的以金色包装为主,在这一点上真的是全宇宙统一。  1、巴黎卡诗双重菁纯修护液 RMB420  2、伊丽莎白雅顿金致胶囊精华液 RMB690  3、Gucci罪爱女性淡香水 RMB830  4、MICHAEL KORS鑫耀女士香水(纯金色) RMB590  5、THALGO欢怡闪金滋养油 RMB390  6、IOPE碧奧
期刊
湖南省委、省政府连续三年将城市治安电子防控系统建设纳入为民办实事工程。全省各地因地制宜,积极探索差异化建设模式,系统建设和应用均取得了显著成效。 Hunan Provincial