Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android-UDP客户端错误_Java_Android_Sockets - Fatal编程技术网

Java Android-UDP客户端错误

Java Android-UDP客户端错误,java,android,sockets,Java,Android,Sockets,我的电脑上运行着一个小小的C++/Java-Socket服务器(UDP)。 现在,我想用我的Android应用程序连接到服务器。但是当我发送一个包时,我的应用程序崩溃了 public void Socketinit() { // 1. Socket erstellen! try { serverAddr = InetAddress.getByName("192.168.0.101"); socket = new DatagramSocket();

我的电脑上运行着一个小小的C++/Java-Socket服务器(UDP)。 现在,我想用我的Android应用程序连接到服务器。但是当我发送一个包时,我的应用程序崩溃了

public void Socketinit() {

    // 1. Socket erstellen!
    try {
        serverAddr = InetAddress.getByName("192.168.0.101");
        socket = new DatagramSocket();

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

    createListeners();


}

它在“socket.send(packet);”上崩溃 我可以通过C++连接到服务器,服务器就可以运行了。我的代码中的Clientproblem在哪里


谢谢

您可能会遇到NetworkOnMainThreadException(请参阅Logcat或在调试器中检查)

您可以使用AsyncTask来解决此问题。 很可能您在清单中也缺少Internet权限


以下是进一步的详细信息:

是的!我得到网络维护线程异常!我没有错过互联网许可,但解决了这个问题。!非常感谢。
entprivate void createListeners() {

    confirm.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {

            buf = input.getText().toString().getBytes();
DatagramPacket packet = new DatagramPacket(buf,buf.length, serverAddr, SERVERPORT);

            try {
                socket.send(packet);

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

        }
    });