Я пытаюсь подключить всех своих клиентов к одному серверу. Я провел некоторое исследование и выяснил, что самый простой способ сделать это - создать новый поток для каждого клиента, который подключается к серверу. Но я уже застрял в той части, где клиент отключается и снова подключается.Подключить несколько клиентов к одному серверу
Client
import java.io.IOException;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
public class Test {
private static int port = 40021;
private static String ip = "localhost";
public static void main(String[] args) throws UnknownHostException,
IOException {
String command, temp;
Scanner scanner = new Scanner(System.in);
Socket s = new Socket(ip, port);
while (true) {
Scanner scanneri = new Scanner(s.getInputStream());
System.out.println("Enter any command");
command = scanner.nextLine();
PrintStream p = new PrintStream(s.getOutputStream());
p.println(command);
temp = scanneri.nextLine();
System.out.println(temp);
}
}
}
Сервер
import java.io.IOException;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class MainClass {
public static void main(String args[]) throws IOException {
String command, temp;
ServerSocket s1 = new ServerSocket(40021);
while (true) {
Socket ss = s1.accept();
Scanner sc = new Scanner(ss.getInputStream());
while (sc.hasNextLine()) {
command = sc.nextLine();
temp = command + " this is what you said.";
PrintStream p = new PrintStream(ss.getOutputStream());
p.println(temp);
}
}
}
}
Когда я подключаю, когда он работает правильно, но как только я отключит клиента и попытаться восстановить (или подключить второй клиент) не дает ошибка или что-то, что просто не работает. Я стараюсь держать его как можно более простым.
Когда я пытаюсь подключить второй клиент:
Я надеюсь, что кто-то может помочь мне. Заранее спасибо.
Таким образом, на основе ваших исследований вы должны были создать новый поток для каждого клиентское соединение на сервере. Где вы это делаете? – RealSkeptic
@RealSkeptic Я уже несколько месяцев учился в колледже программирования, и я не разбираюсь в потоковом использовании. Поэтому я надеюсь, что кто-то сможет объяснить это мне. –