JAVAWord文档格式.doc

上传人:b****1 文档编号:13161344 上传时间:2022-10-07 格式:DOC 页数:12 大小:91KB
下载 相关 举报
JAVAWord文档格式.doc_第1页
第1页 / 共12页
JAVAWord文档格式.doc_第2页
第2页 / 共12页
JAVAWord文档格式.doc_第3页
第3页 / 共12页
JAVAWord文档格式.doc_第4页
第4页 / 共12页
JAVAWord文档格式.doc_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

JAVAWord文档格式.doc

《JAVAWord文档格式.doc》由会员分享,可在线阅读,更多相关《JAVAWord文档格式.doc(12页珍藏版)》请在冰豆网上搜索。

JAVAWord文档格式.doc

主要知识点:

DatagramSocket、DatagramPacket类的使用。

四、实验要求

1.四人一组。

2.按照下面所给实验步骤完成各项内容,将实际的操作过程记录在实验报告中,报告中的配置参数应给出实际的值,必要的执行结果需要提供成功运行或配置的界面。

3.完成思考题,并给出答案。

4.实验结束给出实验总结和体会。

5.实验报告要求:

(1)格式与内容应符合实验报告标准;

(2)对程序设计的思路以及具体设计步骤应详细说明,并附上相应的程序流程图;

(3)对程序设计中发生的问题以及解决的办法要加以叙述与总结;

(4)附上所设计的程序清单,并对关键部分进行说明。

五、实验内容及步骤

【背景描述】

为了提高航班显示系统各程序间的通信效率,减轻网络负荷,故机场拟采用UDP协议实现航班显示服务器与各显示终端的通信。

【实验内容和步骤】

本次实验主要是要综合运用,在完成实验三、实验四航班动态显示系统的服务器和客户端程序的基础上,设计并开发基于UDP通信机制的航班显示系统(包括服务器和客户端)的应用软件,具体内容如下:

1.给出基于UDP的航显系统的设计方案(包括设计思路,类结构和对象模型);

2.创建应用服务的器的监听端口(UDP端口:

9999),从航班信息文本文件(fds_data(lab4).txt)获取航班的动态信息,并向已知航显终端提供动态的航班数据,发送信息数据部分的格式如下(同课内实验四):

dttm=20140619002341flop_gtdt[flid=25266600,

ffid=CA-709-D-19JUN141345-I,gtdt=[GTDT[gtno=1,gate=03,gast=null,

gaet=null]]](同实验三,客户端收的数据)。

3.要求采用多线程技术或非阻塞技术处理各个客户端的连接请求;

4.给出程序运行结果,并分析;

5.客户端向服务发送请求航班数据的数据包(向服务器进行注册),并接收服务器端发过来的航班数据。

六、实验实际完成内容及结果分析

1.题目:

行李提取

2.要求:

(1)显示条件

满足下列条件的航班才能在行李提取屏上显示:

这里有两种可选的判断方式:

A.按到达时间判断

1)必须是进港航班。

2)航班的状态为“到达”。

3)分配到当前行李转盘。

4)到达后5分钟开始显示,到达后60分钟结束显示(以

实际到达时间判断比如,航班在9:

00到达,则显示

的时间段为9:

05-10:

00。

5)“取消”的航班不显示。

B.按行李转盘开关时间判断

2)分配到当前行李转盘

3)转盘开放前15分钟开始显示,转盘关闭后5分钟结束显示(有实际时间按实际时间判断,没有实际时间按预计时间判断。

使用这种判断模式必须确保能从集成系统获取到转盘开关时间)。

4)“取消”的航班不显示。

(2)显示规则

1)按实际到达时间排序。

2)中、英文同屏。

3)超过3个航班则翻页显示,翻页时间10秒。

(3)显示字段

航班号:

包括主航班号和共享航班号。

来自:

始发站、经停站。

3.实验代码

服务器:

importjava.io.*;

import.*;

publicclassEchoServer{

privateintport=9999;

privateDatagramSocketsocket;

publicEchoServer()throwsIOException{

socket=newDatagramSocket(port);

//与本地的一个固定端口绑定

System.out.println("

服务器启动"

);

}

publicvoidservice(){

while(true){

try{

DatagramPacketpacket=newDatagramPacket(newbyte[512],512);

socket.receive(packet);

//接收来自任意一个EchoClient的数据报

System.out.println("

服务器地址"

+packet.getAddress()+"

:

"

+"

服务器端口"

+packet.getPort()

);

BufferedReaderbr=newBufferedReader(newFileReader("

fds_data(lab4).txt"

));

Stringmsg=null;

while((msg=br.readLine())!

=null){

System.out.println(msg);

if(msg.equals("

dataout!

))

break;

}

packet.setData(msg.getBytes());

socket.send(packet);

//给EchoClient回复一个数据报

}catch(IOExceptione){

e.printStackTrace();

}

}

publicstaticvoidmain(Stringargs[])throwsIOException{

newEchoServer().service();

}

客户端:

importjava.awt.EventQueue;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.io.BufferedReader;

importjava.io.FileInputStream;

importjava.io.IOException;

importjava.io.InputStreamReader;

import.DatagramPacket;

import.DatagramSocket;

import.InetAddress;

import.Socket;

import.UnknownHostException;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JPanel;

importjavax.swing.JScrollPane;

importjavax.swing.JTable;

importjavax.swing.border.EmptyBorder;

importjavax.swing.table.DefaultTableModel;

publicclassEchoClientextendsJFrame{

privateJPanelcontentPane;

privateJTabletable;

privateDatagramSocketsocket;

/**

*Launchtheapplication.

*/

publicstaticvoidmain(String[]args){

EventQueue.invokeLater(newRunnable(){

publicvoidrun(){

try{

EchoClientframe=newEchoClient();

frame.setVisible(true);

}catch(Exceptione){

e.printStackTrace();

}

}

});

}

*Createtheframe.

publicEchoClient(){

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(100,100,757,484);

contentPane=newJPanel();

contentPane.setBorder(newEmptyBorder(5,5,5,5));

setContentPane(contentPane);

contentPane.setLayout(null);

JScrollPanescrollPane=newJScrollPane();

scrollPane.setBounds(36,20,669,353);

contentPane.add(scrollPane);

finalDefaultTableModeltableModel=newDefaultTableModel(

newString[]{"

航空公司"

"

航班号"

始发站"

经停站"

},0);

//这是TableModel的一个实现,它使用一个Vector来存储单元格的值对象

table=newJTable(tableModel);

scrollPane.setViewportView(table);

JButtonbtnStart=newJButton("

开始"

btnStart.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

newThread(){//新建线程

publicvoidrun(){

//tableModel.addRow(newString[]{"

CA12345"

LP22"

5"

});

try{

socket=newDatagramSocket();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1