[英]How to read the data from datastream
請幫助我了解如何在Java中讀取數據流。 我的要求是建立與路由器的telnet連接。 這部分完成了。 從路由器,必須通過telnet使用其ip地址和端口號連接到xxx遠程計算機。 建立連接時,我得到了一些回應。 但是在讀取時,程序控制在InputStream類的read()方法處停止。 這是我用來讀取數據流的代碼片段。
buff = new byte[4*1024];
ret_read = 0;
do
{
ret_read = in.read(buff); // Program control gets hanged here. Once all the data are read...
if(ret_read > 0)
{
System.out.println(new String(buff,0,ret_read));
}
}while(ret_read > 0);
發生的事情是讀取阻塞並等待流上發送更多數據,它將繼續這樣做,直到關閉流或發送更多數據為止。
您需要使用非阻塞讀取,在讀取上設置超時或在完成數據發送后關閉流服務器端。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.