等待客户呼叫
客户的地址:/127.0.0.1
Exception in thread "main" java.lang.NullPointerException
at Server_thread.<init>(Server.java:57)
at Server.<init>(Server.java:32)
at Server.main(Server.java:37)出现的错误如上,运行的时候就是等待客户呼叫,但是客户端运行之后就显示出下面的内容了。源码如下,红色的就是出错的行。。求解救。。谢谢!
import java.io.*;
import java.net.*;public class Server
{

ServerSocket serverPort;
// Server_thread thread;
Socket you;
public Server(){
try
{
serverPort = new ServerSocket(1000);
}
catch(IOException e)
{
System.out.println("监听端口出错!" +e);
}
try 
{
System.out.println("等待客户呼叫");
you = serverPort.accept();
System.out.println
("客户的地址:"+you.getInetAddress());
}
catch(IOException e)
{
System.out.println("连接出错!" +e);
}
if(you != null)
{
new Server_thread(you).start();
}
}
public static void main(String args[])
{
new Server();
}
}
class Server_thread extends Thread
{
private Socket client;
private BufferedReader in;
private PrintWriter out;
String s = null;
boolean quesion = false;
Server_thread(Socket t)
{
try
{ //由InputStream类的对象ips创建BufferedReader类的
//对象in
in = new BufferedReader
(new InputStreamReader(client.getInputStream()));

//由OutputStream类的对象ops创建PrintWriter类的对象
//out
out = new PrintWriter(client.getOutputStream(),true);
//由键盘输入的System.in作为参数创建BufferedReader
//类的line对象
BufferedReader line = new BufferedReader
(new InputStreamReader(System.in));
while(true)
{
String strLine = in.readLine();
System.out.println("Client:"+strLine);
if(strLine.equals("bye"))
break;
strLine = line.readLine();
System.out.println("Server:"+strLine);
System.out.println(strLine);
}
in.close();
out.close();
client.close();
}
catch (IOException e)
{
System.out.println("error!");
}

}

}

解决方案 »

  1.   

             if(you != null)
                {
                 new Server_thread(you).start();
                }            
            }            
            public static void main(String args[])
            {            
            new Server();
            }in = new BufferedReader
                        (new InputStreamReader(client.getInputStream()));
    这是出错的三个地方。。麻烦了。。 
      

  2.   

    (new InputStreamReader(client.getInputStream()));
     private Socket client;client 没有初始化啊,当然就空指针异常了。
      

  3.   


    楼上的看的仔细啊~~  lZ把client初始化一下吧!