استخدم socket.io و nodejs لإنشاء خادم WebSocket
لا يمكن لـ Socket.io إنشاء خدمات WebSocket Client فحسب ، بل يمكن أيضًا دعم WebSockets من جانب خادم NodeJS.
اسمحوا لي أن أقدم كيفية تثبيت وتكوين NodeJS.
أدخل http://nodejs.org/#download لتنزيل ملف MSI. انقر فوق التالي للتثبيت. أخيرًا ، سيتم تثبيت الملف تلقائيًا في دليل C:/NodeJS.
بعد الانتهاء من التثبيت ، سيتم تكوين متغيرات البيئة تلقائيًا. إذا لم يكن هناك تكوين تلقائي ، أضف ؛ C:/ Nodejs/ إلى المسار بنفسك.
بعد اكتمال التثبيت ، يجب تكوين NPM لإدارة وحدات Node.js.
يتطلب تثبيت NPM أسفل النافذة تثبيت GIT.
بعد تثبيت git ، افتح gitbush. إجراء الخطوات التالية:
GIT config-system http.sslcainfo /bin/curl-ca-bundle.crtgit clone-recursive git: //github.com/isaacs/npm.gitcd npmnode cli.js تثبيت npm -gf-gf
الأول هو أنه لن يكون هناك مطالبات للإعداد. ستذهب الخطوة الثانية إلى GitHub لتنزيل NPM وسيكون لديها تنزيل الملفات والتقدم. الخطوة الرابعة هي أن تثبيت NPM إلى Node.js سيقوم بنسخ عدة ملفات CMD ومجلد Mode_Modules إلى دليل NodeJS.
بهذه الطريقة ، تم تكوين NPM.
إذا كنت بحاجة إلى تثبيت أي وحدة ، أدخل NPM تثبيت *** مباشرة.
إذا لم يكن لديك مستخدمي NPM أو Windows ، فيمكنك استخدام GitHub لتنزيل Socket.io ووضعه في مجلد Node_Modules. لتكوين محدد ، يرجى الرجوع إلى المقالة: "NodeJS Tutorial: تكوين بنية دليل Windows لـ Nodejs.exe"
Nodejs التثبيت socket.io
استخدم حزمة إدارة المكونات الإضافية للعقدة ، قم بتشغيل الأمر التالي لتثبيت socket.io بنجاح
NPM تثبيت socket.io
مثال على التنفيذ باستخدام socket.io
رمز العميل:
<html> <head> <title> </title> <script src = "../ js/socket.io.client.js"> </script> <script type = "text/javaScript"> function doit () {var socket = io.connect ('http: // localhost') ؛ Socket.on ('news' ، function (data) {// استلام البيانات المسمى "new 'console.log (data.hello) ؛ // البيانات هي البيانات التي يتم إرسالها بواسطة الخادم. socket.emit (" حدث بلدي الجديد "، {my:' data '}) ؛ // إرسال بيانات إلى الخادم لتحقيق نقل البيانات}) ؛ socket.on ('other' ، function (data) {// استلام بيانات أخرى تسمى "other '، console.log (data.hello) ؛ socket.emit (' event1 '، {my:' data '}) ؛}) ؛ } </script> </head> <body> <button id = 'btn' onClick = "doit ()"يمكن تنزيل Socket.io.client.js محليًا على https://github.com/learnboost/socket.io-client ، ويشير إلى مكتبة JS الأصلية في <script src = "..">.
يتم تنفيذ الخادم باستخدام NodeJS
server2.js
var http = require ('http') ، io = require ('socket.io') ، express = require ('express') ؛ var app = express.createserver () ، io = io.listen (app) ؛ app.listen (80) ؛ io.sockets.on ('connection' ، function (socket) {socket.emit ('news' ، {hello: 'world') ؛ // lease ، بمجرد توصيل العميل ، يتم إرسال البيانات ، والمعلمة الأولى "الجديدة" هي اسم البيانات ، والمعلمة الثانية هي SCOBKE.ON console.log (data.my) ؛يمكن عرض نتائج الاختبار بشكل طبيعي من قبل العميل
يعرض جانب الخادم النتائج:
C:/java/nodejs> node server2.js
ملاحظة: يجب أن يكون الرمز في نفس الدليل مثل NPM_Module. خلاف ذلك ، لن يتم العثور على وحدة Socket.io.