Я портирую старый код и получаю это уведомление об отказе. Что я должен обновить?Что заменяет send() в java.net.MulticastSocket?
warning: [deprecation] send(java.net.DatagramPacket,byte) in java.net.MulticastSocket has been deprecated
socket.send(packet,(byte)ttl);
Это код в вопросе:
packet = new DatagramPacket(msg, msg.length, address, port);
socket.send(packet,(byte)ttl);
обновление:
Если у вас возникли проблемы с установкой TTL (то есть, когда вы смотрите на пакеты, то TTL всегда 1), то обновление этого кода не поможет (хотя оно и предупреждает об устаревании). Вполне вероятно, что вы столкнулись с выполнения ошибка Java обсуждается здесь:
Java Multicast Time To Live is always 0
Вы можете прочитать в Javadoc? – EJP
@EJP, я этого не делал. В моей жизни я только что написал 12 строк кода Java, два из которых выше. Они отлично работали с тех пор, как я впервые написал их в 2008 году. Теперь у нас, очевидно, была версия java-версии на нашей новой системе, которая давала мне это предупреждение. Одна из красавиц стека переполнения заключается в том, что очень случайный пользователь конкретной системы может получить помощь от такого эксперта, как caskey, и эта помощь может остаться у других. Если бы я стал серьезным программистом на Java, я бы потратил время на документы, но сейчас я просто благодарно полагаюсь на помощь других. –
Вы делаете это неправильно. Вы должны * начать *, прочитав соответствующую документацию, * затем *, если вы все еще застряли, попробуйте интернет. В этом случае вы получите ответ сразу. Вот почему я предложил это. – EJP