У меня проблема с отправкой многоадресной рассылки UDP на работу с Windows 8.1.Windows 8.1 UDP Multicast
Следующая простая тестовая программа работает в рамках моста с интерфейсом, работающего под управлением Windows 7 или Ubuntu 13 на том же хосте. По этой причине я уверен, что проблема связана не с тестовой программой Java, а с физической конфигурацией сети.
import java.net.*;
public class multicast_send {
public static void main(String[] args) throws Exception {
DatagramSocket socket = null;
DatagramPacket outPacket = null;
socket = new DatagramSocket();
String msg = "Multicast Test";
outPacket = new DatagramPacket(msg.getBytes(), msg.getBytes().length, InetAddress.getByName("230.0.0.1"), 4446);
socket.send(outPacket);
System.out.println("Server sent : " + msg);
socket.close();
}
}
Неудача под окнами 8.1 проявляется как тихий провал, т.е. сообщение просто не прибудет на удаленном хосте.
Я использовал WireShark на хосте Windows 8.1, и я не вижу никаких доказательств отправки UDP-пакетов.
Брандмауэр Windows 8.1 отключен.
Я попробовал диапазон адресов многоадресной рассылки и порты с тем же результатом (работаю с Win7, Ubuntu, а не Windows, 8,1)
От просмотра взаимосвязанности Интернета я замечаю Есть несколько описаний проблем UDP Multicast введен в Windows 8.1; но этот случай, похоже, не соответствует описаниям проблем.
Окружающая среда java - 1.7.0.51b13 во всех трех случаях.
Есть ли скрытый виджет, который мне нужно настроить в Windows 8.1, чтобы включить многоадресный UDP? Есть ли очевидная проблема с кодом, которую я не обнаруживаю, что является особенностью Windows 8.1?
Хорошо - Решил. Что-то о публикации вопроса заставило меня подумать об этом. Проблема в том, что из-за установки виртуальных машин, исходящий код должен знать, какой интерфейс использовать. поэтому код фиксируется добавлением «socket.setInterface (InetAddress.getByName ()); –
user3235214
Либо удалите свой вопрос, либо объясните решение более подробно как ответ. –