2010-04-22 16 views
8

मैं एक विशिष्ट यूडीपी प्रसारण पैकेट भेजना चाहता हूं .. दुर्भाग्यवश मुझे से भेजे गए सभी पैकेट के लिए udp पैकेट भेजने की आवश्यकता है।सॉकेट सेट स्रोत पोर्ट नंबर

Let कहते हैं कि मैं यूडीपी "BLABLAH" के माध्यम से प्रसारित, सर्वर केवल अगर मेरे भेजे पैकेट स्रोत बंदरगाह 1444 था का जवाब देंगे, नहीं तो पैकेट खारिज कर दिया है।

मेरे प्रसारण सॉकेट सेटअप इस तरह दिखेगा:

s = socket(AF_INET,SOCK_DGRAM) 

s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1) 

मैं कैसे कर सकते है कि अजगर में (स्रोत बंदरगाह सेट)?

धन्यवाद!

उत्तर

14

आपको उस विशिष्ट पोर्ट को bind सॉकेट की आवश्यकता है जिसे आप भेजना चाहते हैं। bind विधि एक पता tuple लेता है, connect की तरह, हालांकि आप वाइल्डकार्ड पते का उपयोग कर सकते हैं। उदाहरण के लिए:

s.bind(('0.0.0.0', 1444)) 
संबंधित मुद्दे