0

我正在使用 DatagramSocket 和 datagramPacket 在 java 中创建服务器聊天程序,我在客户端代码中获取 java.lang.NullPointerException 以发送数据包

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

有人可以帮我清除这个错误。提前致谢

4

2 回答 2

1

根据您在评论中告诉我们的内容,您没有初始化 csock。确保在尝试使用它之前调用它的构造函数。

您已通过以下方式声明它: public DatagramSocket csock; 但是您没有为其分配任何值,因此它默认为空。那是您异常的根源。

于 2012-06-22T14:36:18.017 回答
0

您没有提供足够的代码进行分析,但我认为csock是空的。有关更多信息,请尝试阅读此文档

于 2012-06-22T14:29:55.460 回答