नोडजेस के साथ, गैर-अवरुद्ध टीसीपी सर्वर बनाना बहुत आसान है। nodejs.org से उदाहरण:,/epoll() सामान आप के लिए, सॉकेट दिनचर्या और मुख्य पाश सी में लागू किया जाता है तो यह बहुत तेजी से है और - -/चुनाव()PHP में उच्च प्रदर्शन एसिंक्रोनस सॉकेट सर्वर एप्लिकेशन को कैसे कार्यान्वित करें?
var net = require('net');
var server = net.createServer(function (socket) {
socket.write("Echo server\r\n");
socket.pipe(socket);
});
server.listen(1337, "127.0.0.1")
NodeJS का चयन करें() संभालती है कुशल।
NodeJS महान है, लेकिन मैं PHP में एक उच्च प्रदर्शन TCP सॉकेट सर्वर लागू करना चाहते हैं, क्योंकि मैं एक PHP पुरुष :)
तो कर रहा हूँ, एक बात मैं पहले से ही करने की कोशिश की सॉकेट दिनचर्या को लागू करने की है PHP में, socket_create_listen
, socket_accept
, socket_select
आदि और PHP में मुख्य पाश के साथ। यह बहुत अच्छा काम करता है, लेकिन मुझे नहीं लगता कि यह बहुत ही कुशल है, क्योंकि मुझे socket_select
का उपयोग करना है जो सी-फ़ंक्शन select
आंतरिक रूप से कॉल करता है, लेकिन epoll
बेहतर होगा (मुझे लिनक्स का उपयोग कर रहा है), लेकिन epoll
उपलब्ध नहीं है PHP फ़ंक्शन के रूप में। (phpsocketdaemon और phpmio 2 परियोजनाएं हैं जिन्हें मैंने पाया है कि आपके लिए सॉकेट-रूटीन लागू करें)।
क्या यह नोडजेस तरीके से करना संभव होगा? मैं एक PHP मॉड्यूल के बारे में सोच रहा हूं जो सी में लूप और सॉकेट दिनचर्या लागू करता है, और घटनाओं के लिए PHP कॉलबैक फ़ंक्शंस को कॉल करता है (onread
, onerror
..)। या यह प्रयास के लायक नहीं है?
/PHP में उच्च प्रदर्शन टीसीपी सॉकेट सर्वर/यदि मैंने कभी देखा तो ऑक्सीमोरोन की तरह दिखता है। –
जितना मैं एक PHP प्रशंसक हूं, यह वास्तव में इस तरह के उपयोग के लिए डिज़ाइन नहीं किया गया था। आप इसमें एक सर्वर को लागू करने में सक्षम हो सकते हैं, लेकिन मैं कहूंगा कि इसे एक कुशल तरीके से करना वास्तविक काम होगा। जब तक PHP इस तरह के उपयोग की अनुमति देने के लिए कुछ प्रमुख वास्तुशिल्प परिवर्तनों से गुजरता है, तो मैं कार्य के लिए बेहतर कुछ बेहतर उपयोग करने की सलाह देता हूं। – GordonM