检索内容控制台eclipse

时间:2016-06-19 13:15:33

标签: java eclipse

我有两个类,第一个是服务器,第二个是视频。在服务器类中,我在启动扩散之前有一个System.out.println。我希望在第二课中只有在控制台上写入"客户端"才能启动视频。在。之后使用某个IP地址。

我该怎么做?

服务器

try {
        serverSocket = new ServerSocket(Constants.PORT);
    }
    catch (IOException e){
        e.printStackTrace();
    }

    while (true) {
        try{
            socket = serverSocket.accept();

        }
        catch (IOException e) {
            System.out.println("I/O Error : " + e);
        }

        System.out.println("Client " + socket.getInetAddress() + " connected !");

        new DiffusionThread (socket).start();

    }

DiffuseVideo

try {

        Util.transfertVideo(
                 new FileInputStream("chrono.flv"),
                 socket.getOutputStream(),
                 socket
                 );
    } catch (SocketException e) {
        System.err.println(this.getId() + ": " + e);
        System.out.println("\n Client " + socket.getInetAddress() +" disconnected !");
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

谢谢大家。

1 个答案:

答案 0 :(得分:0)

很抱歉,如果我只是回答而不是评论。

但你可以插入一些if子句来设置一些布尔值为true / false,当然也为此创建了setter / getter。

也许是这样的:

if (socket.getInetAsdress() == "1.2.3.4") {
connected = true;
}

或者其他什么。我不知道是否知道是否已经实现了一些方法,你可以检查它并返回一些布尔值。但请注意,您必须初始化布尔值 - 在我的情况下 - 在开始时连接,并且不要忘记每次建立新连接时将其设置为false。

之后,您可以轻松地检查第二类中的布尔值:

if (Server.getBoolean == true) {
//code to execute
} else {
System.out.println("Connection Error!");
}

或者如果你在该布尔值上使用public而不是setter / getter:

if (connected == true) ...

希望这可以帮到你。如果您需要别的东西,请告诉我。