从两个不同的对象类调用发送函数时出现java空指针异常
sendData()此函数位于“SendAndRecieveZone”类中。sendmyData()是一个单独类“loginClass”的函数。jButton1ActionPerformed()位于另一个类“mainClass”中。我尝试从loginClass和mainClass调用sendData(),但从“loginClass”调用的第一个调用成功,但当我尝试从“mainClass”调用时,它会创建空指针异常。我调试了它,在mainClass的“srs.sendData(d,ip,port);”行中发现了错误。不知道哪里出了问题。此外,当loginClass多次调用sendData()函数时,它不会产生任何错误。您可以在调试器中设置断点,并查看到底是哪个对象导致了空指针异常。什么是“调用发送函数的函数对象”?你能提供调用该函数的代码吗?从你发布的内容中很难发现NullPointerException的原因。您可能想用更多的指针更新您的问题,包括异常堆栈跟踪。使用同一个套接字购买两个不同的对象是否有可能导致错误原因?我尝试使用不同的对象,它不会工作,但当我试图发送使用单一的对象,它的工作。有可能吗?如果不发布堆栈跟踪并告诉我们异常抛出的位置,任何人都不可能帮助您。请编辑您的帖子并添加堆栈跟踪。从两个不同的对象类调用发送函数时出现java空指针异常,java,Java,sendData()此函数位于“SendAndRecieveZone”类中。sendmyData()是一个单独类“loginClass”的函数。jButton1ActionPerformed()位于另一个类“mainClass”中。我尝试从loginClass和mainClass调用sendData(),但从“loginClass”调用的第一个调用成功,但当我尝试从“mainClass”调用时,它会创建空指针异常。我调试了它,在mainClass的“srs.sendData(d,ip,port)
DatagramPacket sendingPackets;
byte[] hellodata;
public void sendData(String toServer, String ip, int port)
{
try
{
DatagramSocket sendingSocket=new DatagramSocket();
System.out.println("From manipulate ip="+ip+"and port ="+port+toServer);
hellodata = toServer.getBytes();
sendingPackets = new DatagramPacket(hellodata, hellodata.length, InetAddress.getByName(ip), port);
sendingSocket.send(sendingPackets);
// sendingSocket.close();
}
catch (Exception EX)
{
JOptionPane.showMessageDialog(null, "Sending Error :" + EX, "Error", JOptionPane.ERROR_MESSAGE);
}
}
public void sendmyData(String d, String ip,int port)
{
sr = new SendAndRecieveZone();
sr.sendData(d, ip, port);
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
{
srs = new SendAndRecieveZone();
data = jTextField1.getText();
srs.sendData(d, ip, port);
}