मैं stream_socket_server() का उपयोग कर सॉकेट सर्वर बनाने की कोशिश कर रहा हूं।PHP सॉकेट सर्वर जो एडीएच का उपयोग करता है। कैसे?
सामान्य कनेक्शन ठीक काम करते हैं, लेकिन मैं एक सर्वर बनाना चाहता हूं जो प्रमाण पत्र के बिना कनेक्शन को एन्क्रिप्ट करता है। मुझे पता है कि यह एडीएच सिफर के साथ पूरा किया जा सकता है, और हाँ, मुझे पता है कि यह सैद्धांतिक रूप से प्रमाण पत्र से कम सुरक्षित है ...
कारण मैं इस सर्वर को पहली जगह बना रहा हूं एक अलग सर्वर का नकल करना जिस पर एक ग्राहक कनेक्ट होता है (this protocol से अधिक, यदि आप सोच रहे हैं)।
क्लाइंट को पहले प्रमाणपत्र के लिए पूछने के लिए कॉन्फ़िगर किया गया है, और एडीएच पर फ़ॉलबैक - मैंने इसे वास्तविक चीज़ के साथ परीक्षण किया है, और यह बिना किसी समस्या के कनेक्ट करता है, इसलिए समस्या सॉकेट सर्वर के साथ है।
मैंने जो भी प्रयास किया है, उसके परिणामस्वरूप "हैंडशेक विफलता" त्रुटि हुई है।
विन्यास मैं कोशिश की है में से कुछ:
<?php
$server = stream_socket_server(
"tls://127.0.0.1:6667",
$errorno,
$errstr,
STREAM_SERVER_BIND | STREAM_SERVER_LISTEN,
stream_context_create(
array('ssl' => array('ciphers' => 'ADH'))
)
);
?>
<?php
$server = stream_socket_server(
"tls://127.0.0.1:6667",
$errorno,
$errstr,
STREAM_SERVER_BIND | STREAM_SERVER_LISTEN,
stream_context_create(
array('ssl' => array('ciphers' => '-COMPLEMENTOFALL ADH'))
)
);
?>
मैं भी ग्राहक बिना शर्त ADH का उपयोग (ऊपर दूसरा उदाहरण में है), बस परीक्षण की खातिर के लिए समायोजित करने की कोशिश की है, लेकिन वह भी विफल रहता है।
यह मेरे द्वारा किए गए प्रत्येक PHP संस्करण के साथ होता है, जिसमें से नवीनतम 5.5.0 है।
कोई विचार?
भी इस देख सकते हैं इस मदद हो हो सकता है आप http://christophh.net/2012/ देखते 07/24/php-socket-प्रोग्रामिंग/ – krishna
@ कृष्णा उस लेख में एन्क्रिप्शन का भी उल्लेख नहीं है, और यह देखते हुए कि अनएन्क्रिप्टेड कनेक्शन ठीक काम करता है, यह बिल्कुल मदद नहीं करता है। –