Я пытаюсь создать сервер, который считывает содержимое файла и отправляет его клиенту с использованием пакетов датаграмм. Вот то, что я до сих пор:Длина пакета пакета данных JAVA или ошибка смещения
public static void main(String[] args) throws FileNotFoundException, IOException, InterruptedException {
BufferedReader br = new BufferedReader(new FileReader("File.txt"));
Scanner sc = new Scanner(new File("File.txt"));
DatagramSocket ds = new DatagramSocket();
while(sc.hasNextLine()){
DatagramPacket multi = new DatagramPacket(br.readLine().getBytes(), br.readLine().getBytes().length, InetAddress.getByName("224.0.0.5"), 7777);
ds.send(multi);
sc.nextLine();
sleep(1000);
}
}
Когда я запускаю это, я получаю сообщение об ошибке:
Исключения в потоке «основной» java.lang.IllegalArgumentException: нелегальные длины или смещениях
конструктор я использую
DatagramPacket (байт [] ЬиЕ, Int длина, InetAddress обратить внима ss, int port)
Создает пакет дейтаграммы для отправки пакетов длины длины указанному номеру порта на указанном хосте.
Не понимаю, почему я получаю сообщение об ошибке, так как передаю длину как второй параметр.
Возможный дубликат http://stackoverflow.com/questions/28450619/unable-to-set-the-offset-for-buffer-in-the-datagrampacket-object – Lemonov