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

कैसे करना है?
निर्भरता स्थापना
sudo yum install nodejs sudo yum install mongodb npm install ws npm install mongodb
प्रोग्राम
सबसे पहले, हम क्लाइंट को एक हिस्सा बनाते हैं, जबकि नोड.जेएस और सर्वर एक के लिए आवश्यक सब कुछ स्थापित होता है।
HTML बहुत संक्षिप्त है
<!DOCTYPE html> <html> <head> <link href='http://fonts.googleapis.com/css?family=Ubuntu&subset=latin,cyrillic' rel='stylesheet' type='text/css'> <link href="main.css" rel="stylesheet" /> <script src="main.js" defer></script> <meta charset="UTF-8"> </head> <body> <form id="loginform" class="unauthorized"> <input id="login" placeholder=""><br> <input id="password" placeholder=""> <div>* , </div> </form> <output id="messages"></output> <div> <div contenteditable id="input"></div> </div> </body> </html>
script
टैग की
defer
विशेषता के लिए धन्यवाद, जावास्क्रिप्ट केवल पूरे पृष्ठ को लोड करने के बाद शुरू होगा। यह
window.onload
इवेंट की तुलना में बहुत अधिक सुविधाजनक है।
कोड को कम करने के लिए,
document.getElementById
को
$
कम
document.getElementById
function $(a){return document.getElementById(a)}
सर्वर से कनेक्शन खोलें और आने वाले संदेशों की प्रतीक्षा करें
ws = new WebSocket ('ws://x.cloudx.cx:9000'); ws.onmessage = function (message) {
आपने देखा होगा कि इनकमिंग मैसेज सबसे पहले
specials_in
फ़ंक्शन द्वारा संसाधित किए जाते
specials_in
। यह फ़ंक्शन संदेश बॉडी में विशेष अंशों की खोज करता है जो चैट कार्यक्षमता का विस्तार करते हैं।
function specials_in (event) { var message = event.message; var moment = new Date(event.time);
आउटगोइंग संदेशों के लिए एक समान सुविधा
function specials_out(message) {
क्लाइंट साइड कोड के बाकी, असामान्य कुछ भी नहीं है अब सर्वर साइड में आते हैं
डेटाबेस से कनेक्ट करें और पोर्ट 9000 पर वेब सॉकेट पर कनेक्शन की प्रतीक्षा करें
प्राधिकरण और पंजीकरण उपयोगकर्ता के लिए यथासंभव सरल बनाये जाते हैं। यदि कोई खाता नहीं है, तो यह बनाया जाएगा।
सभी चैट प्रतिभागियों को संदेश भेजना
इस समारोह में काम करने के लिए, प्रत्येक भागीदार के साथ कनेक्शन के लिंक
peers
सरणी में हैं
नए कनेक्शन और संदेश संभालना
काम करने के लिए उपरोक्त कोड के लिए, आपको इतिहास से संदेश प्राप्त करने के कार्य की आवश्यकता होगी, ऑनलाइन लोगों की सूची और सरणी से किसी तत्व को हटाने का कार्य करना होगा।
चाट तैयार है!
यहां से सूत्र लिए जा सकते
हैं(सर्वर नियमित रूप से पड़ा हुआ है)
चला सकते हैं
su - mongod --smallfiles > /dev/null & node path/to/server.js > /dev/null &
यह करें
- बाढ़ से बचाव
- अधिक चैट कमांड और विशेष स्निपेट
- अवतारों को डाउनलोड करें
- ध्वनि सूचनाएं
- "कमरे"
- संदेश हटाएं
- चित्र, ऑडियो और वीडियो भेजें