Java DatagramSocket中的NullPointerException
我正在使用DatagramSocket和datagramPacket用java创建一个服务器聊天程序 我在客户端代码中得到一个java.lang.NullPointerException来发送数据包Java DatagramSocket中的NullPointerException,java,sockets,nullpointerexception,Java,Sockets,Nullpointerexception,我正在使用DatagramSocket和datagramPacket用java创建一个服务器聊天程序 我在客户端代码中得到一个java.lang.NullPointerException来发送数据包 try { InetAddress ia = InetAddress.getLocalHost(); String s1 = new String(Uname + "-C-" + ia.getHostAddress()); cdp = new DatagramPacket(s
try
{
InetAddress ia = InetAddress.getLocalHost();
String s1 = new String(Uname + "-C-" + ia.getHostAddress());
cdp = new DatagramPacket(s1.getBytes(), s1.length(), ia, 7080);
csock.send(cdp);
csock.setSoTimeout(5000);
csock.receive(cdp);
s1 = new String(cdp.getData(), 0, cdp.getLength());
chat.append(s1);
}
catch(Exception e)
{
onlineuser.append("\n" + e);
}
有人能帮我清除这个错误吗。
提前感谢您没有提供足够的代码进行分析,但我认为
csock
为空。
有关更多信息,请阅读您在评论中告诉我们的内容,您没有初始化csock。在尝试使用它之前,一定要调用它的构造函数
您声明它的方式是:publicdatagramsocketcsock;但是您没有给它赋值,因此它默认为null。这就是异常的来源。您能否使用调试器仔细检查,以分离出产生异常的确切行并让我们知道?是的,您会收到一个错误。你的问题是什么?类似于:如何解决我的问题?null指针异常之前变量的状态是什么?在Java中,创建字符串时不要使用new,声明如下字符串:String s1=Uname+“-C-”+ia.getHostAddress()@在csock.send(cdp)之后,我得到了java.lang.NullPointerException,我们的答案之间的差异在哪里,或者你决定用更多的话解释我的answe?啊,我假设用户是OO编程新手,需要知道如何使用构造函数。但是,如果你愿意,你可以在你的答案中包括这一点,我将删除我的。谢谢。我从来没有注意到初始化部分。我欠你的。这不是OOP的问题,而是在不阅读任何文档的情况下开始开发的问题。很伤心。。。