2010-07-21 14 views
7

मैं एक विशिष्ट रिमोट होस्ट (जिसे मैं पहले से ही सार्वजनिक आईपी और पोर्ट जानता हूं) में UdpPacket भेजना चाहता था। मैं सी # की UdpClient कक्षा का उपयोग करना चाहता था।UdpPacket के स्रोत पोर्ट को कैसे निर्दिष्ट करें?

static int Main() 
{ 
    UdpClient client = new UdpClient(); 
    IPEndPoint remoteEP = new IPEndPoint(IPAddress.Parse("1.2.3.4"), 9999); 

    byte[] data = GetData(); 
    client.Send(data, data.Length, remoteEP); 
} 

एक पैकेट भेजते समय, UdpClient स्वचालित रूप से एक उपलब्ध पोर्ट चुनते हैं। मैं पोर्ट को मैन्युअल रूप से सेट करना चाहता हूं, जिससे मैं पैकेट भेजता हूं।

अग्रिम में आपकी सहायता के लिए धन्यवाद!

UdpClient client = new UdpClient(localEndpoint); 

संपादित करें:

उत्तर

10

जब आप UdpClient बनाने endpoint निर्दिष्ट करने का प्रयास ध्यान दें कि आप भी सिर्फ पोर्ट संख्या निर्दिष्ट कर सकते हैं:

UdpClient client = new UdpClient(localPort); 

कुछ हद तक आसान हो सकता है कि :)

+0

वाह धन्यवाद !!! यह काम करता हैं! मैंने सोचा कि इस कन्स्ट्रक्टर का उपयोग केवल तभी किया जा सकता है जब आप संदेश प्राप्त करना चाहते हैं। UdpClient = नया UdpClient (नया IPEndPoint (IPAddress.Parse ("0.0.0.0"), 99 99)); – raisyn

+0

@Youllknow काम किया: यह अनुमान लगाया गया था, स्वीकार्य रूप से :) मैंने अभी भी अपना जवाब इसे संभवतः सरल तरीके से संपादित किया है। कोशिश करने के लायक ... –

+0

एचएम .. क्या सिर्फ कन्स्ट्रक्टर के माध्यम से srcPort को स्विच करने का कोई तरीका नहीं है? – kchoi

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