package temp.asd2;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import android.app.Activity;
import android.os.Bundle;
public class Temp2Activity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        try {
         System.out.println("Exception 0");
   Socket client = new Socket("내아이피",5001);
  } catch (UnknownHostException e) {
   // TODO Auto-generated catch block
   System.out.println("Exception 1");
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   System.out.println("Exception 2");
   e.printStackTrace();
  }
        
    }
}

안녕하세요 갑자기 아이스크림 샌드위치 공부한면서 질문 드림니다.

 

얼마전에 ICS의 소켓에 대해서 질문 드렸는데 답변이 없으셔서 ㅠㅠ.

 

ICS버전부터 (4.0.3)에서 TCP소켓이 가능한지에대해서 질문드림니다.

 

갤럭시 s2의 이전버전 2.3.3에서는 위와같은 TCP소켓으로 컴퓨터와 통신이 가능하였는데

 

이번 4.0.3 에서부터는 Exception0을 까지만 출력외고 1이나 2도 안뜨고 그대로 죽어버리더군요 ....

 

혹시 이에대해서 알고계신분이나 해결책을 아시는분이 있으신가요 ..?????

 

(안드로이드 메니퍼스트에 <uses-permission android:name="android.permission.INTERNET"/> 권한은 주어진 상태임니다 ㅠㅠ)

 

로그켓 내용도 올려봄니다.

 

03-19 11:09:18.855: I/System.out(691): Exception 0
03-19 11:09:18.876: D/AndroidRuntime(691): Shutting down VM
03-19 11:09:18.876: W/dalvikvm(691): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
03-19 11:09:18.906: E/AndroidRuntime(691): FATAL EXCEPTION: main
03-19 11:09:18.906: E/AndroidRuntime(691): java.lang.RuntimeException: Unable to start activity ComponentInfo{temp.asd2/temp.asd2.Temp2Activity}: android.os.NetworkOnMainThreadException
03-19 11:09:18.906: E/AndroidRuntime(691):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
03-19 11:09:18.906: E/AndroidRuntime(691):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
03-19 11:09:18.906: E/AndroidRuntime(691):  at android.app.ActivityThread.access$600(ActivityThread.java:123)
03-19 11:09:18.906: E/AndroidRuntime(691):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
03-19 11:09:18.906: E/AndroidRuntime(691):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-19 11:09:18.906: E/AndroidRuntime(691):  at android.os.Looper.loop(Looper.java:137)
03-19 11:09:18.906: E/AndroidRuntime(691):  at android.app.ActivityThread.main(ActivityThread.java:4424)
03-19 11:09:18.906: E/AndroidRuntime(691):  at java.lang.reflect.Method.invokeNative(Native Method)
03-19 11:09:18.906: E/AndroidRuntime(691):  at java.lang.reflect.Method.invoke(Method.java:511)
03-19 11:09:18.906: E/AndroidRuntime(691):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
03-19 11:09:18.906: E/AndroidRuntime(691):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
03-19 11:09:18.906: E/AndroidRuntime(691):  at dalvik.system.NativeStart.main(Native Method)
03-19 11:09:18.906: E/AndroidRuntime(691): Caused by: android.os.NetworkOnMainThreadException
03-19 11:09:18.906: E/AndroidRuntime(691):  at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099)
03-19 11:09:18.906: E/AndroidRuntime(691):  at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:84)
03-19 11:09:18.906: E/AndroidRuntime(691):  at libcore.io.IoBridge.connectErrno(IoBridge.java:127)
03-19 11:09:18.906: E/AndroidRuntime(691):  at libcore.io.IoBridge.connect(IoBridge.java:112)
03-19 11:09:18.906: E/AndroidRuntime(691):  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
03-19 11:09:18.906: E/AndroidRuntime(691):  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
03-19 11:09:18.906: E/AndroidRuntime(691):  at java.net.Socket.startupSocket(Socket.java:566)
03-19 11:09:18.906: E/AndroidRuntime(691):  at java.net.Socket.tryAllAddresses(Socket.java:127)
03-19 11:09:18.906: E/AndroidRuntime(691):  at java.net.Socket.<init>(Socket.java:177)
03-19 11:09:18.906: E/AndroidRuntime(691):  at java.net.Socket.<init>(Socket.java:149)
03-19 11:09:18.906: E/AndroidRuntime(691):  at temp.asd2.Temp2Activity.onCreate(Temp2Activity.java:19)
03-19 11:09:18.906: E/AndroidRuntime(691):  at android.app.Activity.performCreate(Activity.java:4465)
03-19 11:09:18.906: E/AndroidRuntime(691):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
03-19 11:09:18.906: E/AndroidRuntime(691):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
03-19 11:09:18.906: E/AndroidRuntime(691):  ... 11 more

 

간단한 실마리라도있나요 ㅠㅜ

 

기본 자바 소켓으로 알고있는데... 4.0.3판올림이 되었다고 죽어버리다니...... ㄷㄷㄷㄷㄷ말이지요...

 

아니면 제가 알고있는 기본 소켓 통신 방법이 잘못된건지 흠....