इस प्रोजेक्ट के बारे में

cellnet एक Go भाषा में लिखी गई उच्च-प्रदर्शन, घटक-आधारित, आसानी से विस्तारित ओपन-सोर्स सर्वर नेटवर्क लाइब्रेरी है। यह कई संस्करणों के पुनरावृत्ति से गुज़री है, जो न केवल शुरुआती लोगों के सीखने के लिए उपयुक्त है, बल्कि निजी और व्यावसायिक परियोजनाओं में भी व्यापक रूप से उपयोग की जाती है, विशेष रूप से गेम सर्वर क्षेत्र में। ## मुख्य विशेषताएँ - **ट्रांसपोर्ट प्रोटोकॉल समर्थन**: - TCP: कनेक्टर पुनः कनेक्शन, लिसनर सुंदर पुनः आरंभ का समर्थन करता है। - UDP: शुद्ध UDP नंगे पैकेट भेजना/प्राप्त करना। - HTTP (परीक्षण में): JSON और form भेजना/प्राप्त करना समर्थित, गेम सर्वर के लिए SDK से जुड़ना आसान, लेकिन बड़े पैमाने के वेब सेवा के लिए पेशेवर लाइब्रेरी (जैसे gin) का उपयोग करने की सलाह दी जाती है। - WebSocket: gorilla/websocket पर आधारित कार्यान्वयन। - **कोडेक (Codec)**: - Google Protobuf, JSON, बाइनरी प्रोटोकॉल (goobjfmt), ProtoPlus (protoplus) आदि एन्कोडिंग प्रारूपों का अंतर्निहित समर्थन। - मिश्रित एन्कोडिंग भेजना/प्राप्त करना समर्थित, कोड बदले बिना विभिन्न एन्कोडिंग और विभिन्न भाषा सर्वर के साथ एक साथ संचार कर सकते हैं। - **कतार मॉडल**: - सिंगल-थ्रेड एसिंक्रोनस लॉजिक (MMORPG के लिए उपयुक्त), मल्टी-थ्रेड सिंक्रोनस लॉजिक (रोबोट के लिए उपयुक्त), मल्टी-थ्रेड कंकरेंट लॉजिक (गेटवे, HTTP सर्वर के लिए उपयुक्त) का समर्थन करता है। - **RPC**: सिंक्रोनस और एसिंक्रोनस RPC का समर्थन करता है। - **संदेश लॉग**: भेजे और प्राप्त संदेशों के प्रत्येक फ़ील्ड को आसानी से देख सकते हैं। ## आर्किटेक्चर और विस्तार cellnet Processor और Peer का उच्च स्तरीय अमूर्तीकरण करता है, उपयोगकर्ता विभिन्न नेटवर्क एनकैप्सुलेशन आवश्यकताओं को पूरा करने के लिए क्षैतिज विस्तार कर सकते हैं। कस्टम Codec, Peer, Processor का समर्थन करता है। ## उपयोग उदाहरण सर्वर और क्लाइंट के सरल उदाहरण प्रदान किए गए हैं, जो दर्शाते हैं कि Peer कैसे बनाएँ, प्रोसेसर कैसे बाइंड करें, संदेश कैसे भेजें और प्राप्त करें। ## प्राप्ति और संकलन Go 1.10 या उससे ऊपर के संस्करण की आवश्यकता है, `go get` के माध्यम से संबंधित निर्भरताएँ प्राप्त करें। ## दस्तावेज़ और समर्थन कतार, Peer, संदेश प्रसंस्करण, विस्तार अनुकूलन आदि पर दस्तावेज़, साथ ही FAQ और संस्करण इतिहास प्रदान करता है। ## योगदानकर्ता कई योगदानकर्ताओं को बग ठीक करने, प्रदर्शन अनुकूलित करने के लिए धन्यवाद। ## संस्करण इतिहास v4 (2018.5), v3 (2017.8), v2 (2017.1), v1 (2015.8)।