2011-12-29 11 views
0

私はこれに関する多くの研究を行い、すべての方法を試してみました。私はソケット192.168.0.101:18250で通信を受け付けるC#サーバーを持っています。私は以下のコードを(以下)持っており、それはアプリの主な活動です。私がそれをコード化する方法は、すべてがonCreateメソッドにあるので、ソケットはアプリケーションが起動するとすぐに接続するはずですが、私のサーバー上では接続が見えません。サーバーは完璧で、問題はないと私は想定しています。私はまた、市場からのアプリを試して、私の電話がサーバに接続することさえできるのかどうかを見てみました。これは、ソケット接続をテストするために数分で一緒に投げたコードですが、ソケットを試しても接続できません。そして例外も例外ではありません!Androidクライアントサーバー

import java.io.*; 
import java.net.*; 

import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 
import android.widget.*; 

public class ClientServerTestActivity extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    try { 

     InetAddress addr = InetAddress.getByName("192.168.0.101"); 
     int port = 18250; 

     // This constructor will block until the connection succeeds 
     Socket socket = new Socket(addr, port); 
     socket.getOutputStream(); 
     BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); 
     wr.write("Hello World"); 
     wr.flush(); 

    } catch (UnknownHostException e) { 

     TextView t=(TextView)findViewById(R.id.textView1); 
     t.setText(t.getText() + e.getMessage() + "\r\n"); 

    } catch (IOException e) { 

     TextView t=(TextView)findViewById(R.id.textView1); 
     t.setText(t.getText() + e.getMessage() + "\r\n"); 
    } 
} 
} 
+0

どのようにソケットが接続されないことを知っていますか?ホストを解決できない場合は例外がスローされます。 1行でブロックしますか? – madmik3

+0

一般的な 'catch(Exception e)'ブロックを 'IOException'の後に追加してみてください。 'try'ブロックがエラーに遭遇していないため、' UnknownHostException'や 'IOException'が何も失敗しているとは限りません。また、logcatをチェックしてください。他のタイプの例外がスローされた場合は、それをログに記録する必要があります。 – Squonk

+0

さて、私はエラーが発生し、スタックトレースはすべて「許可が拒否されました」と言います。マニフェストなどに何らかの権限を追加する必要がありますか? –

答えて

1

問題はコードにはありませんでしたが、問題はマニフェストにありました。この行をマニフェストに追加して、アプリケーションにネットワークソケットを開く権限を与える必要がありました。

<uses-permission android:name="android.permission.INTERNET" /> 

誰かを助けてくれることを願っています! :)

関連する問題