Java ConnectionException服务器-客户端聊天

Java ConnectionException服务器-客户端聊天,java,multithreading,sockets,client,Java,Multithreading,Sockets,Client,我的Java不是很好,所以我还在学习。我想写一个简单的服务器客户端聊天多线程,但我被卡住了。。。 在我添加线程之后,我的客户端不再工作了。所以我启动服务器和客户端,客户端崩溃需要1到3秒的时间。。。下面的错误 当我的服务器只是一个echo服务器时,它工作得很好,但是在添加线程之后,出现了这个问题 Java代码客户端: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; imp

我的Java不是很好,所以我还在学习。我想写一个简单的服务器客户端聊天多线程,但我被卡住了。。。 在我添加线程之后,我的客户端不再工作了。所以我启动服务器和客户端,客户端崩溃需要1到3秒的时间。。。下面的错误 当我的服务器只是一个echo服务器时,它工作得很好,但是在添加线程之后,出现了这个问题

Java代码客户端:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;


public class Client {

    public static void main(String[] args) {

        int port = 40960;
        String host = "127.0.0.1";
        String newline = "\n";
        String clientname = "Jonathan";

        Scanner input = new Scanner(System.in);

        try {

            Socket client = new Socket(host, port);

            System.out.println("client started");

            OutputStream out = client.getOutputStream();
            PrintWriter writer = new PrintWriter(out);

            InputStream in = client.getInputStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(in));

            String i = input.nextLine();

            writer.write(clientname + ": " + i + newline);
            writer.flush();

            String s = null;

            while((s = reader.readLine()) != null) {

                System.out.println(s);

            }

            writer.close();
            reader.close();
            client.close();

        }

        catch (UnknownHostException e) {

            e.printStackTrace();

        }

        catch (IOException e) {

            e.printStackTrace();

        }



    }

}
连接异常

java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at Client.main(Client.java:25)
我真的不知道问题是什么。。。
希望你能帮助我!谢谢

也请发布服务器代码!完成!是否也要查看Handler.java?是的,包括Handler。您的服务器正在侦听409_6_0,您的客户端正在连接到409_8_0。服务器在端口40480上运行,客户端尝试连接到40960。。。
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;


public class Server {

    public static void main(String[] args) {
        int port = 40480;
        int max = 10;

        ExecutorService executor = Executors.newFixedThreadPool(max);

        try {
            ServerSocket server = new ServerSocket(port);
            System.out.print("server started");

            while(true) {

                try {
                    Socket client = server.accept();
                    executor.execute(new Handler(client));

                }

                catch (IOException e) {
                    e.printStackTrace();

                }

            }

        } catch(Exception e) {
            e.printStackTrace();

        }

    }

}