猿问

Exception in thread "main" java.lang.NullPointerException at client.Server.main(Server.java:18)

package client;
import java.io.*;
import java.net.*;
import java.util.*;
import java.awt.*;
import javax.swing.*;

public class Server {
@SuppressWarnings("resource")
public static void main(String[] args) {
	ServerSocket server =null;
	ServerThread thread;
	Socket you= null;
	while (true)
	{
		try{server = new ServerSocket(4331);}
		catch (IOException e1){System.out.println("正在监听");}
		try{you=server.accept();
		System.out.println("客户的地址:"+you.getInetAddress());}
		catch(IOException e){System.out.println("正在等待客户");}
		if(you!=null){
			new ServerThread(you).start();
		}
	}
}
}
class ServerThread extends Thread
{
	Socket socket;
	ObjectInputStream in=null;
	ObjectOutputStream out =null;
	JFrame window;
	JTextArea text;
	ServerThread(Socket t)
	{
		socket =t;
		try
		{
			out=new ObjectOutputStream(socket.getOutputStream());
			in =new ObjectInputStream(socket.getInputStream());
		}
		catch (IOException e){}
        window =new JFrame();
        text =new JTextArea();
        for(int i=1;i<=20;i++)
        {
        	text.append("你好,我是服务器上的文件区组件\n");
        }
        text.setBackground(Color.yellow);
        window.add(text);
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	public void run(){
		try{  out.writeObject(window);}
		catch (IOException e){
			System.out.println("客户离开");
		}
	}
}
附客服代码
package client;
import java.io.*;
import java.net.*;
import java.util.*;
public class Client {
	public static void main(String agrs[])
	{
		Scanner scanner= new Scanner (System.in);
		Socket mysocket=null;
		ObjectInputStream inObject=null;
		ObjectOutputStream outObject=null;
		Thread thread;
		ReadWindow readWindow =null;
		try {
			mysocket =new Socket();
			readWindow =new ReadWindow();
			thread =new Thread(readWindow);
			System.out.println("输入服务器的IP");
			String IP=scanner.nextLine();
			System.out.println("输入端口号:");
			int port =scanner.nextInt();
			if(mysocket.isConnected())
			{
				
			}
			else 
			{
				InetAddress address =InetAddress.getByName(IP);
				InetSocketAddress socketAddress=new InetSocketAddress(address,port);
				mysocket.connect(socketAddress);
				InputStream in=mysocket.getInputStream();
			    OutputStream out=mysocket.getOutputStream();
			    inObject=new ObjectInputStream(in);
			    outObject=new ObjectOutputStream(out);
			    readWindow.setObjectInputStream(inObject);
			    thread.start();
			}
		}
		catch(Exception e)
		{
			System.out.println("服务器已经断开"+e);
		}
	}

}
class ReadWindow implements Runnable
{
    ObjectInputStream in;
    public void setObjectInputStream( ObjectInputStream in)
    {
    	this .in=in;
    }
    public void run()
    {
    	double result =0;
    	while (true)
    	{
    		try{
    			javax.swing.JFrame window=(javax.swing.JFrame)in.readObject();
    			window.setTitle("这是从服务器上读入的窗口");
    			window.setVisible(true);
    			window.requestFocusInWindow();
    			window.setSize(600, 800);
    		}
    		catch (Exception e)
    		{
    			System.out.println("服务器已经断开"+e);
    			break;
    		}
    	}
    }
}
蓝鸟渣渣
浏览 1744回答 1
1回答
随时随地看视频慕课网APP

相关分类

Java
我要回答