等待客户呼叫
客户的地址:/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!");
}
}
}
客户的地址:/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!");
}
}
}
{
new Server_thread(you).start();
}
}
public static void main(String args[])
{
new Server();
}in = new BufferedReader
(new InputStreamReader(client.getInputStream()));
这是出错的三个地方。。麻烦了。。
private Socket client;client 没有初始化啊,当然就空指针异常了。
楼上的看的仔细啊~~ lZ把client初始化一下吧!