JAVA课程作业时间同步服务器.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文档。上传文档
查看更多
一、课程题目 利用UDP网络编程,编写程序在本机构造一个时间服务器,客户端利用UDP数据报取得服务器上的时间。(掌握利用DatagramSocket和DatagramPacket进行UDP网络编程) 二、题目分析与设计 1、本题要求服务器端可以根据客户端的请求返回带有服务器时间信息的数据报。使用UDP协议传输。 2、本程序功能较少。分为服务器端的窗体界面和客户端窗体界面。其中服务器端界面包括实时时间显示和传输历史记录以及服务开关三部分。客户端分为时间显示及同步开关两部分。 3、说明: 用户发送请求消息,客户端进入等待状态。若收到服务端返回的消息,则打印并显示给用户。否则重新请求数据。服务端进行循环监听,若监听到请求消息,则向发送方返回时间信息。 4、该程序在Eclipse下编写。 关键部分为socket获取的构建: getSocket.setSoTimeout(5000); //超时 getSocket.receive(getPacket); //监听消息函数 getMes = new String(buf, 0, getPacket.getLength()); //收到消息 //由frm处理消息,并取得feedback消息 String feedback = this.frm.socketMessage(getMes, getPacket); sendAddress = getPacket.getSocketAddress();//获取发送方地址 byte[] backBuf = feedback.getBytes(); DatagramPacket sendPacket = new DatagramPacket(backBuf, backBuf.length, sendAddress); //构造返回DatagranPacket getSocket.send(sendPacket); //发送 经测试该程序服务端能够接受客户端的请求返回事件消息。并支持多终端。 附录:源代码 //以下代码属于服务端 import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketAddress; import java.net.SocketException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Timer; import java.util.TimerTask; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; public class Receive { public static void main(String[] args) { mainFrame frm =new mainFrame(100,100,300,550); } } //窗体类 class mainFrame extends JFrame implements ActionListener { private JButton btn1; //服务开关按钮 private JTextField txt1; //显示时间 private JTextArea msgList; //操作历史记录 private JScrollPane jsp; private int Height=200,Width=300,Left=100,Top=100; private SimpleDateFormat dateFormat = new SimpleDateFormat(yyyy/MM/dd HH:mm:ss); p

文档评论(0)

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

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

1亿VIP精品文档

相关文档