socket.getInetAddress()给出Null Pointer Exception Android

时间:2016-01-11 15:32:16

标签: android sockets nullpointerexception server udp

我做了一个简单的UDP聊天p2p,当我尝试它时,一切正常。现在我要对此进行报告,我正在测试项目,但我在socket.getInetAddress.getHostAddress()上进行了NPE,我无法理解为什么。 代码如下:

protected String doInBackground(Void... arg0) {

    byte[] lMsg = new byte[1024];
    DatagramPacket packet = new DatagramPacket(lMsg, lMsg.length);
    DatagramSocket socket = null;

    try {

        while(true) {

            socket = new DatagramSocket(port);

            socket.receive(packet);

            ip = socket.getInetAddress().getHostAddress();
            message = new String(lMsg, 0, packet.getLength());

            publishProgress();

            socket.close();

        }

    } catch (Exception e) {
        e.printStackTrace();
        String s = e.getLocalizedMessage();

    } finally {
        if (socket != null) {
            socket.close();
        }
    }
    return "Done";
}

logcat告诉我socket.getInetAddress().getHostAddress()生成空指针异常。 我尝试使用getLocalAddress()检查问题是否是我的想法,我是对的,但我无法理解如何解决它。我用AsyncTask实现了服务器UDP。

任何想法都赞赏。

0 个答案:

没有答案