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