Java聊天程序不会显示消息

时间:2019-08-05 21:17:14

标签: java

我遵循了有关Java聊天应用程序的YouTube教程。看起来一切正常,只是在测试程序时,该消息不会显示在屏幕上。这是一个相当大的项目,因此“最小可复制示例”可能很难。

屏幕上的任何消息,甚至“用户已连接”消息都不会显示。

public void send(String message) {
        try {

            if (!message.startsWith("\\")) {
                message = name + ": " + message;
            }
            byte[] data = message.getBytes();
            DatagramPacket packet = new DatagramPacket(data, data.length, address, port);
            socket.send(packet);
            System.out.println("Sent message to " + address.getHostAddress() + ":" + port); 

        } catch (Exception e) {
            e.printStackTrace();
        }

    }
    private void listen() {
        Thread listenThread = new Thread("ChatProgram Listener") {
            public void run() {
                try {
                    while (running) {
                        byte[] data = new byte[1024];
                        DatagramPacket packet = new DatagramPacket(data, data.length);
                        socket.receive(packet);

                        String message = new String(data);
                        message = message.substring(0, message.indexOf("\\e"));

                        if (!isCommand(message, packet)) {
                        ClientWindow.printToConsole(message);
                    }
                    }

                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }; listenThread.start();


        }

    private static boolean isCommand(String message, DatagramPacket packet) {
        if (message.startsWith("\\con:")) {

        }
            return true;

        }

我希望这会将消息以及用户名打印到屏幕上。

很抱歉,MRE很长,但是在此先感谢您的帮助! :)

0 个答案:

没有答案