我写了一个avtivity,代码如下:                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);
                Button reg = (Button) findViewById(R.id.regButton);
                reg.setOnClickListener(new OnClickListener() {                        @Override
                        public void onClick(View v) {
                                EditText hostEle = (EditText) findViewById(R.id.apnHost);
                                Editable host = hostEle.getText();
                                EditText portEle = (EditText) findViewById(R.id.apnPort);
                                Editable port = portEle.getText();
                                Log.i("liangyf.mobile.terminal", "APN[" + host.toString() + ","
                                                + port + "]");
                                try {
                                        DatagramSocket socket = new DatagramSocket(4567);
                                        InetAddress serverAddress = InetAddress
                                                        .getByName("10.0.2.2");
                                        String str = "hello";
                                        byte data[] = str.getBytes();
                                        DatagramPacket packet = new DatagramPacket(data,
                                                        data.length, serverAddress, 9999);
                                        socket.send(packet);
                                } catch (SocketException e) {
                                        Log.e("liangyf.mobile.terminal", "发生异常:", e);
                                } catch (IOException e) {
                                        Log.e("liangyf.mobile.terminal", "发生异常:", e);
                                }
                        }
                });
        
同时我在开发机(运行模拟器的机器)上开启了9999端口侦听,但是当运行app进行连接时发生错误:
05-17 05:35:28.122: E/AndroidRuntime(624): FATAL EXCEPTION: main
05-17 05:35:28.122: E/AndroidRuntime(624): android.os.NetworkOnMainThreadException
05-17 05:35:28.122: E/AndroidRuntime(624):         at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099)
05-17 05:35:28.122: E/AndroidRuntime(624):         at libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:175)
05-17 05:35:28.122: E/AndroidRuntime(624):         at libcore.io.IoBridge.sendto(IoBridge.java:463)
05-17 05:35:28.122: E/AndroidRuntime(624):         at java.net.PlainDatagramSocketImpl.send(PlainDatagramSocketImpl.java:182)
05-17 05:35:28.122: E/AndroidRuntime(624):         at java.net.DatagramSocket.send(DatagramSocket.java:287)
05-17 05:35:28.122: E/AndroidRuntime(624):         at liangyf.mobile.terminal.TerminalSimulatorActivity$1.onClick(TerminalSimulatorActivity.java:44)
05-17 05:35:28.122: E/AndroidRuntime(624):         at android.view.View.performClick(View.java:3511)
05-17 05:35:28.122: E/AndroidRuntime(624):         at android.view.View$PerformClick.run(View.java:14105)
05-17 05:35:28.122: E/AndroidRuntime(624):         at android.os.Handler.handleCallback(Handler.java:605)
05-17 05:35:28.122: E/AndroidRuntime(624):         at android.os.Handler.dispatchMessage(Handler.java:92)
05-17 05:35:28.122: E/AndroidRuntime(624):         at android.os.Looper.loop(Looper.java:137)
05-17 05:35:28.122: E/AndroidRuntime(624):         at android.app.ActivityThread.main(ActivityThread.java:4424)
05-17 05:35:28.122: E/AndroidRuntime(624):         at java.lang.reflect.Method.invokeNative(Native Method)
05-17 05:35:28.122: E/AndroidRuntime(624):         at java.lang.reflect.Method.invoke(Method.java:511)
05-17 05:35:28.122: E/AndroidRuntime(624):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
05-17 05:35:28.122: E/AndroidRuntime(624):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
05-17 05:35:28.122: E/AndroidRuntime(624):         at dalvik.system.NativeStart.main(Native Method)我已经对app添加了android.permission.INTERNET权限:
<uses-permission android:name="android.permission.INTERNET"/>
有知道的告诉我怎么回事?