आईओएस यूडीपी पोर्ट 6785 (IN_ADDRANY) को बाध्य क्यों करता है? [ios]


Answers

Question

मैं एक ऐसे एप पर काम कर रहा हूं जो नेटवर्क कनेक्टेड डायलेक्ट्ररों को खोजने के लिए यूडीपी पोर्ट 6785 का उपयोग करता है। मेरा ऐप बंड को कॉल करने का प्रयास करता है () इस प्रकार है:

  int socket_handle;
  int error = 0;

  socket_handle = socket(AF_INET, SOCK_DGRAM, 0);
  if(socket_handle < 0)
     error = errno;
  if(error == 0)
  {
     struct sockaddr_in addr;
     memset(&addr, 0, sizeof(addr));
     addr.sin_len = sizeof(addr);
     addr.sin_family = AF_INET;
     addr.sin_port = htons(6785);
     addr.sin_addr.s_addr = htonl(INADDR_ANY);
     error = bind(socket_handle, (struct sockaddr const *)&addr, sizeof(addr));
  }

बाइंड से त्रुटि () त्रुटि 49 है (अनुरोधित पते को असाइन नहीं किया जा सकता है)। क्या यह कुछ आंतरिक डिवाइस सेवा के साथ संघर्ष के कारण हो रहा है या क्या यह कुछ अज्ञात कारणों से ओएस द्वारा अवरुद्ध है?

यह पता चला है कि विफलता उत्पन्न नहीं होती अगर मेरे पास वीपीएन बंद हो। वाईफाई से हमारे स्थानीय नेटवर्क तक पहुंचने के लिए मुझे वीपीएन को सक्षम करना पड़ा।