2010年10月13日 星期三

Android 使用 TCP 連線讀取資訊

簡單的 TCP 連線小範例,測試結果發現,TCP 連線真的很耗電的說。


String strConnectMsg;
byte [] btBuf  = new byte [32];
// 因為手持式裝置往往配給每個行程的記憶體有限,
// 所以習慣上會一點一點讀進來,而不是一次 new 足檔案所需的空間
int nbytesRead = 0;
int nReaded = 0;
try
{
    Socket sock = new Socket("tcp.text.com.tw", 2266);
    InputStream is = sock.getInputStream();
    nbytesRead = is.read(btBuf, 0, btBuf.length);
    whilen(bytesRead && sock.isConnected())
    {
        nReaded += bytesRead;
        // 已讀取nReaded個Bytes
        nbytesRead = is.read(btBuf, nReaded, btBuf.length);
        if( /* 收到\n */ )
        {
          break;
        }
    }
    sock.close();
}
catch (UnknownHostException e)
{
    strConnectMsg = e.toString();
}
catch (IOException e)
{
    strConnectMsg = e.toString();
}

沒有留言:

張貼留言