Итак. Для начала:
Вы можете принять больше клиентов с одним сокетом сервера, потому что вы принимаете только одного в run
-методе. Вы просто должны позвонить accept()
во второй раз.
Затем вы в цикле for: сначала вы должны каждый раз создавать новый Client
объект. Тогда вы можете позвонить c[i].start();
, а не c.start()
.
Теперь я могу иметь несколько клиентов
экземпляры в разных темах пытаются
подключиться к тому же порту
текущая машина?
Да, вы можете. Просто создайте новые темы и запустите их. Это должно работать отлично.
ожидаем, что сервер будет читать и писать
данные с изоляцией между клиентами
Вы можете использовать свой опыт базовых методов ввода-вывода, например, file-io:
OutputStream os = socket.getOutputStream();
PrintStream pw = new PrintStream(os, true); // Or PrintWriter, I don't know what the best one is.
pw.println("Hello, other side of the connection!");
А для чтения используйте BufferedReader.