该系统由A、B、C三部分组成,
其中A为公交车查询客户端程序;
B为公交查询服务程序,负责响应来自A的查询并接收由公交车模拟程序发送过来的当前到站信息;
C为公交车模拟程序,能够模拟多辆公交车发送当前到站信息。
A、B之间采用TCP协议,B、C之间采用UDP协议
该程序可以进行连续查询,只保存了两条公交路线用于测试
程序运行截图:
代码:
A:
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 Main 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 Borde