资源简介
该系统由A、B、C三部分组成,
其中A为公交车查询客户端程序;
B为公交查询服务程序,负责响应来自A的查询并接收由公交车模拟程序发送过来的当前到站信息;
C为公交车模拟程序,能够模拟多辆公交车发送当前到站信息。
A、B之间采用TCP协议,B、C之间采用UDP协议
先运行server.java,之后运行server1.java,最后运行Client.java

代码片段和文件信息
package A;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.util.Arrays;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.stage.Stage;
public class Client extends Application{
BorderPane root;
Socket socket;
DataInputStream dis;
DataOutputStream dos;
TextField text;
Button btn;
@Override
public void start(Stage stage) throws Exception {
socketInit();
root = new BorderPane();
text = new TextField();
text.setPrefColumnCount(28);
btn = new Button(“查询“);
HBox hbox1 = new HBox();
hbox1.getChildren().add(text);
hbox1.getChildren().add(btn);
root.setTop(hbox1);
Scene scene = new Scene(root 396 300);
stage.settitle(“公交车查询“);
stage.setScene(scene);
stage.show();
btn.setOnAction((ActionEvent e) ->{
String bus = text.getText().toString().trim();
String msg1 = getBusInfo(bus);
if(msg1.equals(“error“)){
Alert alert = new Alert(AlertType.INFORMATION);
alert.titleProperty().set(“提示“);
alert.headerTextProperty().set(“没有这条公交线路!“);
alert.showAndWait();
}else{
String msg2 = getInfo();
String[] stations = msg1.split(“\r\n“);
String[] busInfo1 = msg2.split(“/“);
int[] busInfo = new int[4];
for(int i=0;i busInfo[i] = Integer.parseInt(busInfo1[i]);
}
Arrays.sort(busInfo);
HBox hbox = new HBox();
Label la = new Label();
la.setPrefSize(50 35);
hbox.getChildren().add(la);
int temp = 0;
for(int i=1;i<=stations.length;i++){
VBox vbox = new VBox();
Label l = new Label();
if(temp temp++;
Image image = new Image(“bus.png“);
l.setGraphic(new ImageView(image));
}
Label ll = new Label();
Label lll = new Label();
Label l1 = new Label(““+i);
Label l2 = new Label(“----“);
Label l3 = new Label(stations[i-1]);
vbox.getChildren().add(ll);
vbox.getChildren().add(l);
vbox.getChildren().add(lll);
vbox.getChildren().add(l1);
vbox.getChildren().add(l2);
vbox.getChildren().add(l3);
hbox.getChildren().add(vbox);
}
root.setCenter(hbox);
}
});
}
public static void main(String[] args) {
launch(args);
}
private void socketInit(){
try {
socket = new Socket(“localhost“ 9999);
dis = new DataInputStream(socket.getInputStream());
dos = new DataOutputStream(socket.getOutputS
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 416 2019-04-09 18:48 新建文件夹\bus.png
文件 3421 2019-04-09 20:14 新建文件夹\Client.java
文件 1137 2019-04-09 19:32 新建文件夹\Server.java
文件 2787 2019-04-09 20:30 新建文件夹\Server1.java
- 上一篇:jsonschema案例
- 下一篇:医药销售管理系统
相关资源
- Java版聊天程序(UDP TCP 多线程)
- 用Java实现TCP通信
- 采用TCP SOCKET技术编写C/S模式的java聊天
- java 局域网数据包嗅探
- Java TCP IP Socket
- javafx版高校人员管理系统
- JAVA局域网聊天系统微仿QQ
- javafx写的记事本
- JavaFX本质论英文版
- java建立TCP长链接
- 采用java编写的TCP/IP服务器端程序
- 计算机网络课程设计报告_DH算法_Wir
- socket编程实验报告
- 基于TCP/IP~Android客户端与PC通信源码
- Pro JavaFX 9 A Definitive Guide to Building De
- Java摄像开源框架文档、案例、Jar包、
- javaFX实现的图书馆后台管理系统,有
- tcpdump Android 6.0可用亲测
- 完整版modbus+tcp+ java开发代码
- javafx 选课系统
- Java TCP-IP Socket编程(原书第2版)
- java 网络编程tcp/ip
- JavaFx实现百度文本框的下拉提示功能
- Android WIFI局域网传文件
- javafx-8u152-apidocs-api
- android+pc socket通信
- TCP/IP协议及网络编程技术 大作业——
- Android源码简单实现手机与电脑的UDP通
- 基于JavaFx的公寓租赁系统
- Java NetWork Programming 4th
评论
共有 条评论