簡體   English   中英

如何從數據流中讀取數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM