我遇到一个小问题。我试图在另一个类中使用一个方法来发送一个对象给我的服务器。我正在使用Java与套接字。当我尝试使用Java将对象写入服务器时发生NullPointerException
方法:
public void sendMessageToServer(String message) {
if (message != null) {
try {
serverComManager.outputStream.writeObject(message);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
类试图使用方法:
sendMessage.sendMessageToServer("Hello");
该错误是在该行抛出:
serverComManager.outputStream.writeObject(message);
预先感谢您! 〜Rane
编辑:根据要求,我添加了'serverComManager'声明以及该类的代码。我还包括完整的错误。我希望这能帮助你理解我的问题。
声明:
ServerCommunicationManager serverComManager = new ServerCommunicationManager();
代码ServerCommunicationManager:
boolean connected;
//Setup
Socket clientSocket;
ObjectOutputStream outputStream;
ObjectInputStream inputStream;
public boolean connectToHost() throws UnknownHostException, IOException{
clientSocket = new Socket("localhost", 2444);
setupStreams(clientSocket);
if(clientSocket.isConnected()){
connected = true;
}else{
connected = false;
}
return connected;
}
private void setupStreams(Socket s) throws IOException{
outputStream = new ObjectOutputStream(s.getOutputStream());
inputStream = new ObjectInputStream(s.getInputStream());
}
错误:
Exception java.lang.NullPointerException
at SendToServer.sendMessageToServer(SendToServer.java:16)
at DissconnectClient.dissconnectFromServer(DissconnectClient.java:15)
错误行:
DissconnectClient 15: sendMessage.sendMessageToServer(abortConnectionKeyword);
SendToServer 16: serverComManager.outputStream.writeObject(message);
注意:DisconnectClient是我正在写的类之一。下面是类代码:
public class DissconnectClient {
//Variables
private final String keyword = "DISSCONNECT";
//Setup
SendToServer sendMessage = new SendToServer();
public void dissconnectFromServer(){
sendMessage.sendMessageToServer(keyword);
}
}
请问您是否可以发布该异常或堆栈跟踪的更大部分。因为可以有很多方法来给这个异常,你的连接可能不会打开,或者serverComManager是空的,或者其他的。 – Cold 2014-09-29 11:27:28
你在哪里分配serverComManager变量? – 2014-09-29 11:27:57