0

我的 PC 上运行了一点 C++/Java - Socket Server (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();


}

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();
            }

        }
    });

它在“socket.send(packet);”上崩溃 我可以通过 C++ 连接到我的服务器,以便服务器启动并运行。我的代码中的客户端问题在哪里?

谢谢

4

1 回答 1

0

您可能会收到 NetworkOnMainThreadException(请参阅 Logcat 或检查调试器)。

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

以下是更多详细信息:如何修复 android.os.NetworkOnMainThreadException?

于 2013-10-20T20:34:34.460 回答