परिचय
फाइलसिस्टम और विभिन्न अन्य स्ट्रीम रैपर्स तक पहुंच को stream_context_create() और stream_context_set_option() फ़ंक्शन द्वारा कॉन्फ़िगर किए गए विभिन्न कॉन्टेक्स्ट विकल्प और पैरामीटर्स द्वारा अनुकूलित किया जा सकता है।
निम्न सूची विभिन्न सॉकेट कॉन्टेक्स्ट विकल्प दिखाती है जो उन सभी रैपर्स के लिए उपलब्ध हैं जो सॉकेट पर काम करते हैं, जैसे tcp, http और ftp।
| विकल्प | विवरण |
|---|---|
| bindto | नेटवर्क तक पहुंचने के लिए उपयोग किए जाने वाले IP एड्रेस (IPv4 या IPv6) और/या पोर्ट नंबर को निर्दिष्ट करता है। (IPv4 के लिए ip:port, IPv6 के लिए [ip]:port)। |
| backlog | सॉकेट के लिसन क्यू में बकाया कनेक्शन की संख्या को सीमित करता है। |
| ipv6_v6only | IPv4 को IPv6 में मैप करने के संबंध में OS डिफ़ॉल्ट को ओवरराइड करता है। |
| so_reuseport | एक ही ip:port जोड़ी पर कई बाइंडिंग की अनुमति देता है। |
| so_broadcast | ब्रॉडकास्ट एड्रेस से/को डेटा भेजने और प्राप्त करने में सक्षम बनाता है। |
| tcp_nodelay | यदि TRUE, तो SOL_TCP, NO_DELAY=1 को उचित रूप से सेट करता है, TCP Nagle एल्गोरिथम को अक्षम करता है। |
उदाहरण
<?php
// '192.168.0.100' IP का उपयोग करके इंटरनेट से कनेक्ट करें
$opts = array(
'socket' => array(
'bindto' => '192.168.0.100:0',
),
);
$context = stream_context_create($opts);
// ...और डेटा लाने के लिए इसका उपयोग करें
echo file_get_contents('https://www.example.com', false, $context);
?>
व्याख्या: bindto आउटगोइंग कनेक्शन के लिए स्रोत IP/पोर्ट निर्दिष्ट करता है। यह मल्टी-होम्ड सर्वर पर उपयोगी है जहां आप चुनना चाहते हैं कि कौन सा इंटरफेस उपयोग किया जाए।