2011-09-20 12 views
5

काम नहीं करता है मैं अपने नेटवर्क में डिवाइस खोज के लिए आईपी पते "255.255.255.255" पर यूडीपी प्रसारण भेजने की कोशिश कर रहा हूं। कार्यक्रम निष्पादित करता है, लेकिन मुझे वायरशर्क में कुछ भी दिखाई नहीं देता है। जब मैं अपने नेटवर्क में एक ज्ञात आईपी में आईपी पता बदल रहा हूं, तो मैं वायरशर्क में पैकेट देख सकता हूं। क्या चल रहा है ?जावा पर यूडीपी प्रसारण

यह मेरा कोड है:

public static void main(String args[]) throws Exception 
{ 
    String Broadcastaddress = new String("255.255.255.255"); 
    int port = 9876; 
    DatagramSocket serverSocket = new DatagramSocket(); 
    serverSocket.setBroadcast(true); 
    InetAddress IPAddress = InetAddress.getByName(Broadcastaddress); 
    System.out.println("Sending Discovery message to " + IPAddress + "Via UDP port " + port); 

    byte[] sendData = new byte[4]; 
    sendData[0] = 'F'; 
    sendData[1] = 'I'; 
    sendData[2] = 'N'; 
    sendData[3] = 'D'; 

    DatagramPacket sendPacket = new DatagramPacket(sendData,sendData.length,IPAddress,port); 

    while (true) 
    { 
     serverSocket.send(sendPacket); 
     System.out.println("Packet sent"); 
    } 


} 

उत्तर

4

ठीक है, मैं एक जवाब मिल गया। विंडोज 7 अब 255.255.255.255 प्रसारण का समर्थन नहीं करता है, जाहिर है कि यह विभिन्न खतरों के लिए एक उद्घाटन था। प्रसारित करने के लिए, किसी को एक अलग दृष्टिकोण का उपयोग करने की आवश्यकता है।

एक IPv4 मेजबान के लिए प्रसारण पते एक बिटवाइज़ तार्किक या मेजबान के आईपी पते सबनेट मास्क का सा पूरक और के बीच आपरेशन प्रदर्शन से प्राप्त किया जा सकता:

यह विकिपीडिया से एक छोटा सा explenation है। उदाहरण: निजी आईपी एड्रेस स्पेस 100.16.0.0/12 का उपयोग करके एक संपूर्ण आईपीवी 4 सबनेट में एक पैकेट प्रसारित करने के लिए, जिसमें सबनेट मास्क 255.240.0.0 है, प्रसारण पता है: 100.16.0.0 | 0.15.255.255 = 100.31.255.255।

आईपी प्रसारण पते 255.255.255.255 के लिए एक विशेष परिभाषा मौजूद है। यह शून्य नेटवर्क या 0.0.0.0 का प्रसारण पता है, जो इंटरनेट प्रोटोकॉल मानकों में इस नेटवर्क के लिए है, यानी स्थानीय नेटवर्क। इस पते पर ट्रांसमिशन परिभाषा से सीमित है, जिसमें स्थानीय नेटवर्क को इंटरनेट से कनेक्ट करने वाले राउटर द्वारा इसे कभी भी अग्रेषित नहीं किया जाता है।

संबंधित मुद्दे