2011-03-18 27 views
0

所以我試圖設置一個套接字客戶端發送一個int,暫時與DataOutputStream到服務器。我的應用程序工作正常,當我從我的電腦運行它,但我在Eclipse上的Android模擬器上收到此錯誤消息:「應用程序SOCKET意外停止,請再試一次」。有小費嗎?如果您發現任何其他錯誤,爲什麼這一般不起作用,任何建議都是值得讚賞的。在Android中編寫DataOutputStream的幫助

代碼的應用程式Android:

import java.io.*; 
import java.net.*; 
import android.app.Activity; 
import android.os.Bundle; 
import android.widget.TextView; 

public class SOCKET extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState){ 

     super.onCreate(savedInstanceState); 
     TextView tv = new TextView(this); 
     tv.setText("App1 Test"); 
     setContentView(tv); 
     Client app1Test = new Client(); 
     app1Test.run(); 
    } 

    public class Client implements Runnable{ 

     @Override 
     public void run() { 
      int message = 13; 
      Socket App1 = null; 

        try { 
        App1 = new Socket("xxxxx.dyndns-remote.com", ####); 
       } catch (UnknownHostException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } catch (IOException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 


      DataOutputStream output = null; 

      try { 
       output = new DataOutputStream(App1.getOutputStream()); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 


      try { 
       output.write(message); 
       output.close(); 
       App1.close(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 

     } 

    } 


} 
} 
+0

你能提供'logcat'輸出嗎? – 2011-03-18 13:33:05

回答

0

使用一個字節數組來發送數據。

byte buf [] = message.getBytes(); 
output.write(buf); 

Saludos。