簡體   English   中英

Android-inputStream.read()-我什么也看不到

[英]Android - inputStream.read() - I can not read anything

我從套接字讀取數據時遇到問題。 我試圖以不同的方式解決問題,我認為現在的代碼是測試它的最簡單方法。 Android有一個問題,需要從套接字讀取並停止在此行(inStream.read())。 10s(socket.setSoTimeout)之后,我收到一條消息-------錯誤:null。 我想讀取任何數據(0-255)或-1,但是什么也沒發生。 在PHP(在我的服務器上,我的代碼)和PC(而不是我的應用程序)中,一切都很好。 我該怎么辦?

這是我的第一篇文章,對於可能出現的錯誤,我感到抱歉。 謝謝你的幫助!

try{
    socket      = new Socket( "192.168.0.150", 502 );
    socket.setSoTimeout( 10000 );

    outStream   = new DataOutputStream( socket.getOutputStream() );
    inStream    = new DataInputStream( socket.getInputStream() );

    System.out.println("----------" + outStream);
    System.out.println("----------" + inStream );

    outStream.write( 0x01 );
    outStream.write( 0x03 );
    outStream.write( 0x10 );
    outStream.write( 0x00 );
    outStream.write( 0x00 );
    outStream.write( 0x04 );
    outStream.write( 0x40 );
    outStream.write( 0xC9 );

    outStream.flush();
    System.out.println("----------ok 1");

/////////////////////////////               

//  Thread.sleep( 50 );
    System.out.println("----------Test1: " + socket.isConnected() );
    System.out.println("----------Test2: " + socket.isInputShutdown() );

    int dat = inStream.read();
    System.out.println("----------ok2: " );
} catch( Exception e ){
    e.printStackTrace(); // <-- edit
    System.out.println( "----------Error: " + e.getMessage() );
}


------------

    <uses-permission android:name = "android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name = "android.permission.UPDATE_DEVICE_STATS" />
    <uses-permission android:name = "android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name = "android.permission.WAKE_LOCK" />
    <uses-permission android:name = "android.permission.INTERNET" />

- 編輯 -

我的日志: http : //codepaste.net/eapot2

如果您有讀取超時,則顯然對等方未發送任何內容。

注意:“什么都沒有發生”與“ Android崩潰”不同。 不要濫用標准術語。

將端口更改為1024-65565。 通常不允許使用端口502。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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