NullPointer用于套接字接收或可能是套接字

时间:2013-03-28 08:56:02

标签: java android networking udp wifi

我一直在向连接到服务器的客户端发送数据包,但试图这样做 将相同的数据包发送到实际的主机本身会出现错误。

这是破解的代码

if(socket == null)
            {
                try 
                {
                    socket = new DatagramSocket( port );
                } 
                catch (SocketException e) 
                {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }

            if( server.returnPlayers() > 0)
            {

                byte[] buf = new byte[256];
                DatagramPacket packet = new DatagramPacket( buf, buf.length );
                try 
                {
                    socket.receive( packet ); ..<---this line
                } 
                catch (IOException e) 
                {
                    Log.d(TAG, "Error with receiving data");
                    e.printStackTrace();
                }
                ...

知道为什么吗?相同的数据包被发送到客户端,它100%工作。

帆布

1 个答案:

答案 0 :(得分:0)

你的try / catch太局部了'socket'在catch之后仍然可以为null。将catch移动到此代码的末尾。在可能受其影响的代码之前,不要捕获异常。