2014-02-19 135 views
0

我对java的网络非常陌生,想要创建一个网络聊天程序,我在网上找到了一些教程,并且从中发现了一些教程。我有我的程序的服务器工作,唯一干扰的是当我尝试读取服务器发送的聊天消息时。由于打印消息确实工作,服务器确实发送了数据字节。所以问题是while循环永远不会结束,这会成为一个问题?客户端的Java网络输入流

public String[] updateChatDialog() throws IOException{ 
    String returnString = ""; 
    int accessed = -1; 

    while((accessed = in.read()) > 0){ 
     System.out.println((char)accessed); 
     returnString = returnString + (char)accessed; 
    } 
    System.out.println(returnString); 
    return stringToTable(returnString); 
} 

在java网络上的任何提示将有所帮助!

每次将聊天呈现为一个字符串时,我都会重置BufferedInputStream,而且上面的方法和返回值一样。

回答

0

'问题'是你的循环直到流结束,并且对方没有关闭连接,所以EOS永远不会到达。

如果你想读消息你必须自己定义它们。在这个应用程序中最简单的事情就是写入和读取行,例如PrintWriter.println() and BufferedReader.readLine().