मैं यू का उपयोग कर लिनक्स पर विशिष्ट इंटरफ़ेस से यूडीपी पैकेट कैसे भेजूं? क्या मुझे बांधना चाहिए? क्या इंटरफ़ेस से आईपी पता नहीं होने पर यूडीपी भेजना संभव है?मैं लिनक्स पर एक विशिष्ट इंटरफेस से यूडीपी पैकेट कैसे भेजूं?
धन्यवाद।
मैं यू का उपयोग कर लिनक्स पर विशिष्ट इंटरफ़ेस से यूडीपी पैकेट कैसे भेजूं? क्या मुझे बांधना चाहिए? क्या इंटरफ़ेस से आईपी पता नहीं होने पर यूडीपी भेजना संभव है?मैं लिनक्स पर एक विशिष्ट इंटरफेस से यूडीपी पैकेट कैसे भेजूं?
धन्यवाद।
आप SO_BINDTODEVICE
सॉकेट विकल्प का उपयोग करके एक विशिष्ट इंटरफ़ेस करने के लिए एक सॉकेट बाध्य कर सकते हैं, लेकिन इस रूट विशेषाधिकारों की आवश्यकता है।
वैकल्पिक रूप से, आप की स्थापना IP_PKTINFO
विकल्प सेट कर सकते हैं, और भेजने के लिए sendmsg
उपयोग करते हैं, in_pktinfo
के ipi_ifindex
अपने इंटरफेस के सूचकांक करने के लिए।
बाइंड का उपयोग करें। आप एक इंटरफ़ेस के माध्यम से यूडीपी पैकेट नहीं भेज सकते हैं जिसमें आईपी पता नहीं है, क्योंकि यूडीपी इंटरनेट प्रोटोकॉल का उपयोग करता है और इंटरनेट प्रोटोकॉल को आईपी एड्रेस की आवश्यकता होती है।
आपको सॉकेट विकल्प IP_MULTICAST_IF का उपयोग करने की आवश्यकता है।
यहाँ देखें: Multicast-HOWTO-6.html
क्या यह केवल मल्टीकास्ट के लिए काम नहीं करेगा? (भी, एक पते की आवश्यकता प्रतीत होती है) – Hasturkun
क्या आप नहीं जानते: क्या यह एक क्रॉसप्लेटफार्म तरीका है? जैसे क्या यह विंडोज़ पर इस तरह काम करेगा? –
@ हाय-एंजेल: मैंने कोशिश नहीं की है, लेकिन स्पष्ट रूप से आप ['IPPROTO_IP'] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms738586 (v = बनाम .85) .aspx) विंडोज पर 'IP_UNICAST_IF' सॉकेट विकल्प। यह विकल्प एक इंटरफेस इंडेक्स लेता है, और मौजूदा लिनक्स सिस्टम पर भी काम करना चाहिए (2012 में जोड़ा गया था और लिनक्स v3.4 में मौजूद है)। – Hasturkun
हम्म, दिलचस्प ... मुझे जीएनयू/लिनक्स दस्तावेज़ों में विकल्प के बारे में कोई उल्लेख नहीं मिला, लेकिन [एक संक्षिप्त नोट] (http://kernelnewbies.org/Linux_3.4) पाया गया कि इसे वाइन प्रोजेक्ट में मदद के लिए जोड़ा गया था। मुझे उम्मीद है कि वाइन परियोजना इसके बारे में जागरूक है: डी –