Хорошо, это последнее препятствие, с которым я борюсь.больше проблем с UDP
Im пытается разрешить клиенту связываться с одним другим клиентом, когда они префикс имени целевого клиента для своего сообщения.
Например, если Ян хочет общаться с законопроектом он бы:
bill hi mate
Сейчас, в настоящее время, когда новый клиент подключается к серверу их имя хранится в списке массива. Поскольку это использует пакеты данных и байтовые буферы, это означает, что когда я храню имя, он также сохраняет длину имен. По умолчанию на сервере размер буфера пакетов данных равен 512, поэтому каждая длина имен составляет 512.
Это не было проблемой до сих пор. Я сделал следующее, чтобы кто клиент хочет общаться с:
else
{
System.out.println("Client said: "+response+"\nPacket Size: "+packet.getLength()+"\nString Length: "+response.length());
String [] usrInput = response.split(" ");
System.out.println("Length of split string: "+usrInput.length);
}
Он разбивает их вклад в массив и смотрит на первой позиции массива для имени. Итак, сверху, у нас будет счет в первой позиции.
Здесь я ошибаюсь; Я попытался с помощью:
- содержит()
- Equals()
- матчи()
и так далее, но все в обязательном порядке; Я предполагаю, что длина имени сохранена. Итак, как я могу уменьшить размер имени, хранящегося только, например, счет-4?
Приветствия
Несвязанное примечание, для чат-подобных программ (или чего-то, что требует надежности), думает об использовании TCP вместо UDP. – RageD
Чтобы уточнить примечание @ RageD, это связано с тем, что UDP не гарантирует, что сообщения будут получены в том же порядке, в каком они были отправлены. С другой стороны, TCP действительно обеспечивает упорядочение. – user1329572
Я не могу использовать TCP - мне нужно использовать UDP - никакой другой вариант – Katana24