2014-03-05 52 views
-1

我遇到了嘗試在java程序中讀取套接字的問題。我正在使用運行JFrame的單獨線程,但我使用主線程來管理套接字。我可以連接到服務器併發送信息,但沒有任何問題,但是當我嘗試從端口讀取信息時,程序停留在讀取端口上。從套接字讀取時程序凍結

我使用讀取端口類是DataInputStream和我只是用

 readLine() 

方法從套接字讀取。是否有另一種方法可以從套接字中讀取,以解決這個問題?

+1

['InputStream.read()'](http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html#read())?除此之外,你確定你的服務器正在發送一個「行」?回想一下,一行以換行符結束。 [你確定套接字有可供讀取的數據嗎?](http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html#available())還要注意[ DataInputStream.readLine()'已棄用](http://docs.oracle.com/javase/7/docs/api/java/io/DataInputStream.html#readLine())。 –

回答

0

如果readLine()被阻塞,則該對等體不發送一條線路。可能對方沒有發送任何東西,否則沒有線路終結器。