深圳大学-java程序设计--网络编程应用.pdfVIP

深圳大学-java程序设计--网络编程应用.pdf

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

深圳大学-java程序设计--网络

编程应用

深圳大学实验报告

课程名称:Java程序设计

实验项目名称:必实验6网络编程应用

学院:计算机与软件学院

专业:

指导教师:尹剑飞

报告人:黄钢学号:2016150170班级:计软4班

实验时间:2017年12月19日(周一)-2017年12月29日(周四)

实验报告提交时间:2017年12月28日星期四

教务部制

(8)期末考试阶段补交无效。

(1).利用数据报通信方式试编写一程序,该程序生

成两个客户端,一个服务器端,两个客户端可以相

互进行简短的文字交流。在报告中附上程序截图、

完整的运行结果和简要文字说明。(50分)

首先在服务器端建立两个Node对象(用来标识

不同客户端),即client1和client2的address和

port。

然后在主线程中启动死循环,在每次循环中开

启一个DatagramSocket对象来接收数据包,当接

收到数据包后,解析出它是由哪个客户端发过来

的,然后在最开始建立的两个Node对象中找到该

数据报应该发往哪个客户端(总共两个Node,除

了本身,另一个就是发送地址)。

找到发送地址后,将其与数据报作为参数创建

Server对象(实现了Runnable接口),开启Server

的线程将数据报发送到另一个客服端,一次信息传

递结束。接着可以进行第二次信息传送(无论从哪

个客户端发信息都可以)。

注:由于在同一台机器上的IP地址相同,光靠

address来区分不同客户端是不现实的,所以还需

要加上端口号。

因此,在同一台机器上,client1和client2的代

码之间的区别就只是用来接收和发送数据包的

DatagramSocket的端口号不同。若是服务端在不

同机器上,则端口号也可以相同。

此外,客服端在接收信息时,可能受到电脑防

火墙的阻止,要注意一下(在这里我找了好久的

bug。。。)。

服务端首先开启MyService,执行死循环,在

循环中为每一个发送数据报的客服端分配一个工

作线程,来将信息发给相应的客户端。

代码如下:

工作线程由类Server提供:

从主线程中得到接收端的address和port,以及

需要发送的信息,在run方法中,将信息发送给

接收端。

客户端界面如下:最下面的文本框用来输入

想要发送的信息,然后点击Send,就会发送到另

一个客户端上,在ReceivedMessage下面是用来

显示聊天记录的,自己发送的信息显示在聊天记录

中会加上“I:”来区分,对方发送的则会加上

“him:”。Clear按钮是用来清空聊天记录的

主线程负责信息的发送,另外开启工作线程进

行数据的接收,即run方法,run方法中是一个死

循环,一直在等待接收信息,接收到信息后,在聊

天记录中显示,并开始下一次循环。

Run方法代码如下

运行结果:

(2).编写Java应用程序,根据作业“单机版中英

文单词测试程序”的要求,将之改为网络版。客户

端和服务器端建立套接字连接后,服务器端向客户

端发送一个英文单词和四个中文解释(分别为

A,B,C,D),假设只有一个解释是正确的;客户端

将答案发送给服务器端;服务器端判断客户端的答

案是否正确,并将已经给出的题目的数量

文档评论(0)

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

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

1亿VIP精品文档

相关文档