我做的是简单聊天软件,服务器运行事没报错的,但运行客户端后,服务器就出现下面的错误:
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)
这是什么问题?
解决方案 »
- 关于结果集的问题
- 跪求:java不能连接access数据库debug出现edit souce lookup path
- Jxl关于CellView的用法。。。高人进
- 如何用Java实现对文件夹操作
- ResultSet为什么取不到数据
- 我写了个程序,请大家看看。。可以给出不同的算法!
- 关于java的学习方向我有一个不明请高手指点.....
- 有关此程序的空指针错误一直搞不清楚怎么改
- 请问哪里有scjp的模拟考试程序下载,我想熟悉一下考试环境,谢谢
- 我把administrator改名后重新登陆win2000, 结果jb6启动时告我license格式不对?
- 初学java,问一个关于applet的程序
- Windows不同的外观下,显示的界面效果差别很大。
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楼 的解决办法!