Задать вопрос
@ratatyq

Почему не конвертируеться в строку с помощью метода getData()?

Здравствуйте, пытаюсь сделать примитивный UDP сервер на java, делал вроде все как по примерам но не могу получить данные самого пакета(все остальное типа длины смешения получаю) вместо данных просто пустая строка приходит, и не могу понять в чем проблема, ниже код (Debug.addDeb это считай тоже самое что System.out.println)=>
// Отправка сообщения =>
		try {
			socket = new DatagramSocket();
			
			while(true) {
				// Создаем данные =>
				int i = 1;
				byte [] buf = new byte[i];
				
				//  Иницилизация адресса и порта =>
				InetAddress addr = InetAddress.getByName("localhost");
				int port = 5588;
				
				// Создание и отправка пакета =>
				packet = new DatagramPacket(buf, buf.length, addr, port);
				socket.send(packet);
				Debug.addDeb("Пакет отправлен...", label);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
// Принятие сообщения (это уже другой файл и запускаю его я отдельно как программу)=>
		try {
			byte [] buf = new byte[10000];
			
			packet = new DatagramPacket(buf, buf.length);
			
			socket = new DatagramSocket(5588);
			Debug.addDeb("Сервер создан и прослушивает порт:" + socket.getLocalPort(), label);
			while(true) {
				
				buf = new byte[10000];
				
				Debug.addDeb("Ожидаем пакета...", label);

				socket.receive(packet);
				Debug.addDeb("Пакет пришел, его длина: " + packet.getLength(), label);
				String s = new String(packet.getData(), 0, packet.getLength());
				Debug.addDeb(s, label);
			}
			
			
			
		} catch (IOException e) {
			e.printStackTrace();
		}
  • Вопрос задан
  • 188 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
@maloyau
Так а Вы пустой buf и отправляете...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы