广工-UDP聊天系统——基于NIO实现.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机网络实验报告 专业班级 软件工程4班 学 号 3111006218 姓 名 陈雪桂 授课教师 (2013年12月) 目录 1 协议介绍和使用说明 1.1 协议内容 1.2 关键技术 1.2.1 服务器端Socket的实现 1.2.2 通信的建立 2 程序设计 2.1系统结构 2.2主程序设计 2.2.1 服务器端程序 2.2.2 客户端程序 2.3 各模块设计 2.3.1客户端向服务器发送消息 1.2 关键技术 1.2.1 服务器端Socket的实现 Socket又称作套接字,它是使用 标准Unix 文件描述符 (file descriptor) 和其它程序通讯的方式。使用send()和recv()让你更好的控制数据传输。在Java 网络编程中,socket相当于应用程序的港口码头;在计算机网络中,套接字由ip地址和端口号组成,为进程之间通信提供地址。两个主机进行通信实际上就是两个主机中的应用进程互相通信,应用进程之间的通信又称为端到端的通信。为应用进程之间的通信提供运输服务的是运输层的运输协议,运输层需要有两种不同的运输协议,即面向连接的TCP和无连接的UDP。 在Java中,实现UDP的聊天程序,使用个重要的类(DatagramSocket类和类)。DatagramSocket类表示用来发送和接收数据报包的套接字数据报套接字是包投递服务的发送或接收点。每个在数据报套接字上发送或接收的包都是单独编址和路由的。从一台机器发送到另一台机器的多个包可能选择不同的路由,也可能按不同的顺序到达。 在Datagram上总是启用UDP广播发送。为了接收广播包,应该将 Datagram绑定到通配符地址。在某些实现中,将DatagramSocket绑定到一个更加具体的地址时广播包也可以被接收。 数据报包用来实现无连接包投递服务。每条报文仅根据该包中包含的信息从一台机器路由到另一台机器。从一台机器发送到另一台机器的多个包可能选择不同的路由,也可能按不同的顺序到达。不对包投递做出保证。服务程序工作在服务器的某个端口上,一旦启动服务,它将在这个端口上监听,等待客户程序发来,当有客户连接到该端口,()方法就,可以用该对象获得一个输入输出流。 服务器的套接字用服务器套接字类()来建立。具体实现如下: (1)建立一个服务者,端口为。 (2)服务者永远等待,一旦客户送来正确的请求,方法。 (3)创建数据。以上实例是服务者客户接受输入信息和发送信息所用 图1.2 基于UDP的SOCKET编程模型 1.2.2 通信的建立 在客户端建立对象,并进行异常处理,主机名和端口号与连接的服务器名和提供该服务的服务程序的监听端口必须一致。建立连接后用。在服务器端,获得的是客户端的,而输出发向客户端,在客户端也是这样。,为了便于读写操作,需要在这两个基础上建立易于操作的。然后对输入输出进行读写操作。在通信结束时关闭socket,释放资源。2 程序设计 2.1系统结构 本系统采用一个服务器端和多个客户端的聊天方式来实现。结构图如下所示: 2.2主程序设计 2.2.1 服务器端程序 服务器与客户间通过。在java中使用相当简单,Java API为处理套接口的通信提供了一个类java.,使得编写网络应用程序相对容易.服务器采用多线程以满足多用户的请求,,通过创建一个对象来,默认端口为 2.2.2 客户端程序 客户端是一个Java程序,客户通过与服务器。 2.3 各模块设计 2.3.1客户端向服务器发送消息 服务器与客户都通过构造来建立输入输出,然后双方通过该相互传递信息 2.3.2客户端之间发送消息 客户间发送信息通过UDP来实现,用户登录时通过类Datagram和创建UDP包括其本地接受端口以及发送端口,默认端口为,通过取得的好友的IP地址来向好友发送消息(send()和接受消息(receive())。 2.4 界面设计 2.4.1 界面设计的方法 在Frame布局容器中,添加一个显示聊天的文本框(在上面),在加入Panel面板,Panel面板中包括两个TextField单行文本框。 2.4.2 界面的功能 界面中的组件有三个输入框,个文本框,两个按钮。输入框、和。文本框显示。按钮有按钮。 界面中的组件有三个输入框,个文本框,两个按钮。输入框、和。文本框显示。按钮有按钮。 2.5

文档评论(0)

***** + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档