资源简介
该系统由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案例
- 下一篇:医药销售管理系统
相关资源
- javafx动画---风扇图
- javafx实现模拟电梯升降
- javaFX写的推箱子小游戏
- Java ATM机系统
- JAVAFX之数独游戏多功能
- 计算机网络课设利用UDP实现聊天系统
- 基于TCP、UDP的聊天室
- C/S结构的java聊天室源代码
- Java UDP打洞技术,UDP 穿透NAT,P2P打洞
- 基于socket编写的java五子棋
- java界面随机点名程序
- java UDP的一个封装
- JavaFX多功能简易计算器及课程设计报
- java基于TCP的简单聊天室
- JavaFX拖放操作
- javafx画板程序
- Socket服务端客户端以tcp/ip协议发送接
- JavaFx开发的经典魔塔
- TCPTalkingRoom.rar
- java实现TCP多客户端与服务器端的通信
- 用java写的tcp数据包发送和接收代码
- Java TCP/IP Socket编程·源代码
- java 通过UDP实现一对多聊天室
- javafx删除table行的demo
- javaQQ聊天室+SocketTCP
- java基于udp的聊天服务端
- esp8266和电脑连接使用的java源码,双通
- springboot 整合mina 源码,nio通讯基础教
- huffman.jar
- JAVA课程设计,UDP 基于组播的聊天程序
评论
共有 条评论