程序不读取消息(Twitch IRC)

时间:2016-11-26 12:14:35

标签: java netbeans bots twitch

我创建了一个应该在后台运行的ReadMessage线程,并在它们进入时读取消息。这就是它的外观:

 Thread ReadMessages = new Thread(new Runnable() {

        public void run() {

            try {

                while(socket.isConnected()){

                ServerMsg = in.readLine();
                jTextArea1.append(ServerMsg);

                }

            } catch (IOException ex) {
                System.out.println("Something went wrong! THREAD");
            }

        }

    });

每次启动程序时都会启动它:

public TwitchBotFenster() throws IOException, Exception {

    UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
    initComponents();

    ReadMessages.start();

    }

我遇到的问题是,当我连接到twitch irc时,它只会读取第一条消息,但如果我在聊天中写了一些内容则不然。我真的不明白这个问题。我的想法是,当连接套接字时,它应该读取所​​有消息。

编辑:

这是我向服务器发送消息的方式:

public void SendMessage() throws IOException{

        try{

        if(BotName == null){
            this.jTextArea1.append("You are not logged in!\n");
        }else{
            this.ClientChatMessage = this.jTextField4.getText();
            out.write(":" + BotName + "!" + BotName + "@" + BotName + ".tmi.twitch.tv PRIVMSG #" + this.Channelname + " :"  + this.ClientChatMessage + "\n");
            out.flush();
            this.jTextField4.setText("");
            this.jTextArea1.append("*" + BotName + ">> " + ClientChatMessage + "\n");
        }

        this.jTextField4.setText("");

        }catch(Exception exe){
            System.out.println("Something went horribly wrong! (SendMessage/func)\n");
        } 

    } 

EDIT2:

每当我在jTextField中按Enter键时都会发送消息:

private void jTextField4ActionPerformed(java.awt.event.ActionEvent evt) {                                            

        try {
            SendMessage();
        } catch (IOException ex) {
            System.out.println("Something went horribly wrong! (SendMessage)\n");
        }

    }  

0 个答案:

没有答案