2011-11-11 10 views
0

私はJavaクライアントをAndroidで実装しようとしています。私のサーバは私のラップトップです。私は自分のAndroid携帯をJavaソケットでラップトップに接続したい。しかし、私はクライアント側で例外を取得しています: "SocketException"とsocket()呼び出しが正しくソケットを作成することができないために私に見えます。以下はレビューのための私のアンドロイドクライアント側のコードです。AndroidクライアントのソケットがSocketExceptionをスローする:

public class SimpleActivityExampleActivity extends Activity { 

/** Called when the activity is first created. */ 
private String usrName; 
private String vendorName; 
private String message; 
public Socket socket; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    } 


public void submitTheForm(View view) { 

    final EditText edittext1 = (EditText) findViewById(R.id.editText1); 
    final EditText edittext2 = (EditText) findViewById(R.id.EditText01); 
    final EditText edittext3 = (EditText) findViewById(R.id.editText2); 
    usrName = edittext1.getText().toString(); 
    vendorName = edittext2.getText().toString(); 
    message = edittext3.getText().toString(); 
    message = usrName+ "," + vendorName + "," + message; 

    byte[] msg = message.getBytes(); 
    try { 
    InetAddress serverAddr = InetAddress.getByName("192.168.1.2"); 
     Log.d("ClientActivity", "C: Connecting..."); 

     socket = new Socket(serverAddr, 2200); 
    socket.getOutputStream().write(msg); 
    socket.getOutputStream().flush(); 
    } catch (UnknownHostException e) { 

     Toast.makeText(SimpleActivityExampleActivity.this, "unknownhostException", Toast.LENGTH_SHORT).show(); 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (SocketException e) { 
     // TODO Auto-generated catch block 

     Toast.makeText(SimpleActivityExampleActivity.this, "Sockexception", Toast.LENGTH_SHORT).show(); 
     e.printStackTrace(); 
    }catch (IOException e) { 
     // TODO Auto-generated catch block 
     //System.out.println("in IOexception for sure"); 
     Toast.makeText(SimpleActivityExampleActivity.this, "IOexception", Toast.LENGTH_SHORT).show(); 
     e.printStackTrace(); 
    } 
    catch (Exception e){ 
     Toast.makeText(SimpleActivityExampleActivity.this, "Exception", Toast.LENGTH_SHORT).show(); 
     e.printStackTrace(); 
    }finally { 
     if(socket != null){ 
      try { 
       socket.close(); 

      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 
    } 
} 
} 

submitTheForm()関数は、main.xmlファイル「アンドロイド:のonClick = "からボタンクリックで起動されますsubmitTheForm"

+0

例外に関連するスタックトレースを投稿できますか? – slayton

答えて

0

あなたは

を設定しています
<uses-permission android:name="android.permission.INTERNET" /> 

許可ですか?

が見つかりましたhere

0

ことが可能です解決するためにすべてのソリューションは、例外がありますあなたがマニフェストファイルにインターネットのアクセス許可を追加するのを忘れていること?

<uses-permission android:name="android.permission.INTERNET" /> 
関連する問題