2012-05-05 17 views
18
private void StartReceivingData(string ipAddress, int iPort) 
    { 
     try 
     { 
      if (!_bContinueReciving) 
      { 
       //initializeMainSocket(ipAddress, iPort); 
       _mSocket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP);//<------HERE IS RAISED THE EXCEPTION 
       _mSocket.Bind(new IPEndPoint(IPAddress.Parse(ipAddress), iPort)); 
       // _mSocket.Bind(new IPEndPoint(IPAddress.Loopback, iPort)); 
       _mSocket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.HeaderIncluded, true); 
       _mSocket.IOControl(IOControlCode.ReceiveAll, new byte[4] { 1, 0, 0, 0 }, new byte[4] { 0, 0, 0, 0 }); 
       //var 1 
       _mSocket.BeginReceive(_buffReceivedData, 0, _buffReceivedData.Length, SocketFlags.None, 
            new AsyncCallback(OnReceive), null); 
       initializeLocalSocket(); 
      } 
      else 
      { 
       _bContinueReciving = false; 
       _mSocket.Close(); 
      } 
     } 
     catch (Exception exception) 
     { 
      Debug.WriteLine(exception); 
     } 
    } 

मुझे समझ में नहीं आता क्यों ... यह काम करता है और अब यह नहीं करता है। क्या कोई मेरी मदद कर सकता है? मैं वीएलसी के साथ स्ट्रीमिंग कर रहा हूं, और मुझे पैकेट प्राप्त नहीं करना है, कुछ रिपोर्ट करें, और उसके बाद किसी खिलाड़ी कोकिसी एक्सेस को अनुमति देने के लिए एक सॉकेट तक पहुंचने का प्रयास किया गया था। क्यूं कर?

+1

यदि CREATE में अपवाद हो रहा है, तो मुझे उम्मीद है कि आपको रॉ सॉकेट बनाने के लिए व्यवस्थापक के रूप में चलाने की आवश्यकता है। –

+1

अत्यधिक संबंधित, यदि डुप्लिकेट नहीं है [इसकी एक्सेस अनुमतियों द्वारा प्रतिबंधित तरीके से सॉकेट तक पहुंचने का प्रयास किया गया था] (http://stackoverflow.com/questions/4799651/an-attempt-was-made-to-access -ए-सॉकेट-इन-ए-वे-वर्जित-बाय-ए-एक्सेस-परमिसी) – Robotnik

+0

मैंने इस अपवाद के साथ 'एवी' द्वारा एक ब्लॉक देखा है:> 02/01/2017 \t 15:02:18 \t अवरुद्ध पोर्ट नियम एफ अवरुद्ध करके: \ Program > Files \ AccessLayers \ PortNox \ बिन \ PortNoxSvc.exe \t एंटी वायरस स्टैंडर्ड > संरक्षण: 25 – user7365403

उत्तर

29

कुछ प्रक्रिया द्वारा सॉकेट आयोजित किया जाता है। कौन सा पता लगाने के लिए netstat -o का उपयोग करें।

+0

Sysinternals [TCPView] (http:/मेल \t xxxx भेजने से मास मेलिंग कीड़े को रोकने के /technet.microsoft.com/en-us/sysinternals/bb897437.aspx) किसी अन्य प्रक्रिया द्वारा उपयोग किए जाने पर जांचने के लिए सहायक भी हो सकता है (जैसा कि मैंने अभी भाग लिया है) – KornMuffin

+0

यदि अपवाद हो रहा था BIND, यह मुझे समझ में आता है। चूंकि यह CREATE में हो रहा है, इसलिए मुझे उम्मीद है कि आपको रॉ सॉकेट बनाने के लिए प्रशासक बनने की आवश्यकता है। –

+0

मैंने कभी भी इस त्रुटि को बांधने में देखा है। यहां एक उदाहरण दिया गया है: http://help.octopusdeploy.com/discussions/problems/22665-an-attempt-was-made-to-access-a-socket-in-a-way-forbidden-by-its-access- अनुमतियाँ – stark

32

व्यवस्थापक विशेषाधिकारों के साथ विजुअल स्टूडियो को फिर से लोड करें। विंडोज सॉकेट्स (विनसॉक) आपको स्थानीय व्यवस्थापक के बिना सॉकेटटाइप.आरडब्ल्यू सॉकेट बनाने की अनुमति नहीं देगा। और याद रखें कि आपके समाधान को उम्मीद के अनुसार चलाने के लिए ऊंचे विशेषाधिकारों की आवश्यकता होगी!

+0

द्वारा यह प्रश्न 2 साल पुराना है, और पहले से ही एक स्वीकार्य उत्तर है, जिसका आपका उत्तर इसमें शामिल नहीं है। – pquest

+11

और फिर भी, स्वीकृत उत्तर यह नहीं बताता कि CREATE में अपवाद क्यों होता है। यह समझाएगा कि बीआईएनडी में अपवाद क्यों हुआ। –

+10

@pquest - पूरी तरह से आपकी टिप्पणी से असहमत - यह उत्तर वास्तव में बहुत उपयोगी है और एक निश्चित स्थिति का ख्याल रखता है जिसे मुख्य उत्तर में बिल्कुल संबोधित नहीं किया जाता है। मैंने उखाड़ फेंका है –

6

वैसे मैं इस समस्या के अपराधी को भी समझ नहीं पा रहा हूं। लेकिन मेरे मामले में समस्या पूरी तरह से अलग है। मैंने netstat -o या netstat -ab चलाने का प्रयास किया है, दोनों दिखाते हैं कि पोर्ट 62434 पर वर्तमान में कोई भी ऐप नहीं सुन रहा है, जिस पर मेरा ऐप सुनने की कोशिश करता है। तो यह वास्तव में मुझे भ्रमित कर रहा है।

मैंने अभी जो किया है उसके बारे में सोचने की कोशिश की ताकि यह काम करना बंद कर दिया (यह पहले काम करता था)। वैसे तो मैंने अपने ईथरनेट एडाप्टर पर एक निजी वर्चुअल लैन (विंडोज 10 में हाइपर-वी का उपयोग करके) के साथ किए गए इंटरनेट साझाकरण के बारे में सोचा। मुझे सिर्फ साझा करने की आवश्यकता है और यह ठीक काम करता है।

आशा है कि इससे किसी और को एक ही समस्या होने में मदद मिलेगी। और निश्चित रूप से अगर कोई इसे समझा सकता है, तो कृपया अपने उत्तर में अधिक जानकारी जोड़ें या शायद मेरे उत्तर पर कुछ टिप्पणी दें।

+1

धन्यवाद, इंटरनेट साझाकरण सेटिंग मेरी समस्या – kellpossible

+1

भी बंदरगाहों की एक समान श्रृंखला का उपयोग कर समाप्त हो गई है, जो मुझे लगता है कि शायद कनेक्शन साझाकरण विकल्प अस्थायी रूप से नेटस्टैट टूल पर रिपोर्ट किए बिना बंदरगाहों की कुछ अलग-अलग श्रेणियों का उपयोग करता है। – kellpossible

0

जब मेरा कंप्यूटर विंडोज 10 सालगिरह के अतिरिक्त में अपग्रेड किया गया, और प्रभावी रूप से मेरी सभी सेटिंग्स को उड़ा दिया, तो मुझे एक बहुत ही त्रुटि मिलनी शुरू हुई। यह एक नए कंप्यूटर के साथ काम करने जैसा था, पहली बार उपयोग के लिए सबकुछ सेट कर रहा था ... और फिर अचानक मुझे यह त्रुटि मिल रही थी जब मेरा कोड वेब सेवा का उपयोग करने का प्रयास कर रहा था।

लेकिन असली अपराधी, और मेरे मामले में समाधान यह था कि मुझे 64-बिट में चलाने के विकल्प की जांच करने की आवश्यकता थी। यह विकल्प मेरे मामले में खो गया था।

टूल्स -> विकल्प -> परियोजनाएं और समाधान -> वेब प्रोजेक्ट्स -> "वेब साइट्स और परियोजनाओं के लिए आईआईएस एक्सप्रेस के 64 बिट संस्करण का उपयोग करें"।

0

मुझे एक ही समस्या थी लेकिन मैंने फ़ायरवॉल सेटिंग में कुछ बदलाव करके इसे ठीक किया। > "नियंत्रण कक्ष"

  • पर "Windows फ़ायरवॉल" enter image description here

  • अंदर Windows फ़ायरवॉल क्लिक करें, क्लिक करें -

    आप नीचे दिए गए

    1. जाओ करने के लिए "प्रारंभ" चरणों का पालन कर सकते हैं "विंडोज फ़ायरवॉल के माध्यम से किसी प्रोग्राम या फीचर को अनुमति दें" enter image description here

    2. अब प्रोग्राम्स को अनुमति देने के अंदर, "सेटिंग्स बदलें" बटन पर क्लिक करें। एक बार जब आप चेंज सेटिंग्स बटन पर क्लिक करते हैं, तो "अन्य प्रोग्राम की अनुमति दें ..." बटन सक्षम हो जाता है। enter image description here

    3. "किसी अन्य प्रोग्राम को अनुमति दें ..." बटन पर क्लिक करें, एक नया संवाद बॉक्स खोला जाएगा।प्रोग्राम या एप्लिकेशन चुनें जिसके लिए आपको सॉकेट अपवाद मिल रहा है और "जोड़ें" बटन पर क्लिक करें। enter image description here

    4. ठीक क्लिक करें, और अपनी मशीन को पुनरारंभ करें।

    5. प्रशासनिक अधिकारों के साथ अपना आवेदन चलाने के लिए प्रयास करें (जिसमें एक अपवाद है)।

    मुझे उम्मीद है कि इससे मदद मिलती है।

    शांति,

    सनी Makode

  • 1

    यह त्रुटि है कि लौटा दिया जाता है तब होता है जब Windows फ़ायरवॉल ब्लॉक बंदरगाह (बाहर जाने वाले)। हमारे पास सख्त वेब सर्वर है इसलिए आउटगोइंग बंदरगाह डिफ़ॉल्ट रूप से अवरुद्ध हैं। मुझे बस इतना करना था कि wf.msc में टीसीपी पोर्ट नंबर को अनुमति देने के लिए नियम बनाना है।

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

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