我做的是简单聊天软件,服务器运行事没报错的,但运行客户端后,服务器就出现下面的错误:
Exception in thread "main" java.lang.NullPointerException
at myprojects.chatserver.ChatServer.receive(ChatServer.java:80
at myprojects.chatserver.ChatServer.SEMF(ChatServer.java:36)
at myprojects.chatserver.ChatServer.main(ChatServer.java:108)
这是什么问题?
Exception in thread "main" java.lang.NullPointerException
at myprojects.chatserver.ChatServer.receive(ChatServer.java:80
at myprojects.chatserver.ChatServer.SEMF(ChatServer.java:36)
at myprojects.chatserver.ChatServer.main(ChatServer.java:108)
这是什么问题?
import java.awt.*;
import java.net.*;
import java.awt.event.*;
import java.util.Calendar;class ChatServer extends Frame
{
TextArea showData = null;
ServerSocket ss = null;
Socket s = null;
InputStream is = null;
DataInputStream dis = null;
static int totalClient=0; public void SEMF()
{
showData = new TextArea("",6,35,3);
add(showData);
try
{
ss = new ServerSocket(5678);
}
catch(IOException e1)
{
System.out.println("不能监听5678端口!");
}
addWindowListener(new SEWindowMonitor());
while(true)
{
monitorClient();
receive();
}
} void monitorClient()
{
try
{
Socket s=ss.accept();
totalClient++;
}
catch(IOException ie)
{
System.out.println("cann't listen to client!");
System.exit(-1);
}
}
void receive(){
try{
is=s.getInputStream();
dis=new DataInputStream(is);
String Ms=dis.readUTF();
showData.append(Ms + "\n");
System.out.println(Ms);
}catch(IOException ie){
System.out.println("cann't receive message");
}
}
class SEWindowMonitor extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
setVisible(false);
System.exit(0);
}
} public static void main(String args[])
{
ChatServer SEmainFrame = new ChatServer();
SEmainFrame.setSize(300,200);
SEmainFrame.setTitle("服务器");
SEmainFrame.setResizable(false);
SEmainFrame.setVisible(true);
SEmainFrame.SEMF();
}
}
多谢 4楼 的解决办法!