в моей игре мне нужно проверить получение данных от любого из подключенных сокетов (клиентов). клиенты, которые подключены, сохраняются в массиве. есть ли способ проверить получение от любого из подключенных клиентов? Я попробовал цикл for для всех подключенных клиентов/сокетов и проверял их, но он, похоже, не работает. heres my for loopпроверить для получения информации из всех сокетов, подключенных к серверному сокету java
while (true) {
try {
for (Socket client : Server.clients) {
Server.in = new DataInputStream(client.getInputStream());
System.out.println("recieving information...");
String input = Client.in.readUTF();
Server.out = new DataOutputStream(client.getOutputStream());
Server.out.writeUTF("connected");
send(input);
}
} catch (Exception e) {
}
}
, но я думаю, что он проверяет только одного клиента за раз. также он не помогает, что я могу отправлять данные неправильно (или другие ошибки), поэтому его трудно найти проблему. Благодарю.
Не могли бы вы не просто проверить, что 'Server.in.available()> 0 'перед выполнением чтения? Это предотвратит любые проблемы с блокировкой, с которыми вы сталкиваетесь – Crollster