Javaアプリケーションとして完全に機能するサーバーコードとクライアントコードがあります。サーバーはローカルマシンで実行され、ポート4444でリッスンします。どのJavaアプリケーションでも簡単に接続できますが、コードをAndroidに移動すると、何を試してもIOExceptionが発生し続けます。「localhost」を「10.0.2.2」に変更する必要があると読みましたが、それでもIOExceptionが発生します。whatsmyip.orgからIPアドレスを試しましたが、それでもIOExceptionが発生します。これが私のAndroidコードです...
package test.myPackage;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class TestProjectActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView tv = new TextView(this);
tv.setText("Hello, Android");
setContentView(tv);
Socket s = null;
try {
s = new Socket("10.0.2.2", 4444);
tv.setText("socket: CONNECTED!");
} catch (UnknownHostException e) {
tv.setText("socket: unknown host");
} catch (IOException e) {
tv.setText("socket: IO Exception");
}
}
}