ใช้ socket.io และ nodejs เพื่อสร้างเซิร์ฟเวอร์ WebSocket
Socket.io ไม่เพียง แต่สร้างบริการไคลเอนต์ WebSocket เท่านั้น แต่ยังรองรับ WebSockets ฝั่งเซิร์ฟเวอร์ NodeJS
ให้ฉันแนะนำวิธีการติดตั้งและกำหนดค่า nodejs
ป้อน http://nodejs.org/#download เพื่อดาวน์โหลดไฟล์ MSI คลิกถัดไปเพื่อติดตั้ง ในที่สุดไฟล์จะถูกติดตั้งโดยอัตโนมัติในไดเรกทอรี C:/NodeJS
หลังจากการติดตั้งเสร็จสมบูรณ์ตัวแปรสภาพแวดล้อมจะได้รับการกำหนดค่าโดยอัตโนมัติ หากไม่มีการกำหนดค่าอัตโนมัติเพิ่ม; c:/ nodejs/ ไปยังเส้นทางด้วยตัวคุณเอง
หลังจากการติดตั้งเสร็จสมบูรณ์ NPM จะต้องกำหนดค่าเพื่อจัดการโมดูล node.js
การติดตั้ง NPM ใต้หน้าต่างต้องติดตั้ง GIT
หลังจากติดตั้ง Git ให้เปิด Gitbush ทำตามขั้นตอนต่อไปนี้:
git config-ระบบ http.sslcainfo /bin/curl-ca-bundle.crtgit โคลน-recursive git: //github.com/isaacs/npm.gitcd npmnode cli.js ติดตั้ง npm -gf -gf -gf -gf
อย่างแรกคือจะไม่มีพรอมต์สำหรับการตั้งค่า ขั้นตอนที่สองจะไปที่ GitHub เพื่อดาวน์โหลด NPM และจะมีการดาวน์โหลดไฟล์และความคืบหน้า ขั้นตอนที่สี่คือการติดตั้ง NPM ไปยัง node.js จะคัดลอกไฟล์ CMD หลายไฟล์และโฟลเดอร์ MODE_MODULES ไปยังไดเรกทอรี NODEJS
ด้วยวิธีนี้กำหนดค่า NPM
หากคุณต้องการติดตั้งโมดูลใด ๆ ให้ป้อนการติดตั้ง NPM *** โดยตรง
หากคุณไม่มีผู้ใช้ NPM หรือ Windows สามารถใช้ GitHub เพื่อดาวน์โหลด socket.io และใส่ลงในโฟลเดอร์ Node_Modules สำหรับการกำหนดค่าเฉพาะโปรดดูบทความ: "การสอน NodeJS: การกำหนดค่าโครงสร้างไดเรกทอรี Windows ของ nodejs.exe"
ซ็อกเก็ตการติดตั้ง nodejs
ใช้แพ็คเกจการจัดการปลั๊กอินโหนดเรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้ง 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', ฟังก์ชั่น (ข้อมูล) {// รับข้อมูลชื่อ 'ใหม่' console.log (data.hello); // ข้อมูลคือข้อมูลที่ส่งโดยเซิร์ฟเวอร์ Socket.emit ('เหตุการณ์ใหม่ของฉัน', {my: 'ข้อมูลใหม่'}); // ส่งข้อมูลไปยังเซิร์ฟเวอร์เพื่อรับการส่งข้อมูลสองทาง}); socket.on ('อื่น ๆ ', ฟังก์ชั่น (ข้อมูล) {// รับข้อมูลอื่นชื่อ 'อื่น ๆ ', console.log (data.hello); socket.emit ('event1', {my: 'ข้อมูลอื่น ๆ '});}); } </script> </head> <body> <button id = 'btn' onclick = "doit ()"> คลิกฉัน </button> </body> </html>socket.io.client.js สามารถดาวน์โหลดได้ในพื้นที่ที่ https://github.com/learnboost/socket.io-client และชี้ไปที่ไลบรารี JS ดั้งเดิมใน <script src = ".. ">
เซิร์ฟเวอร์ถูกนำไปใช้โดยใช้ nodejs
Server2.js
var http = reghed ('http'), io = reghed ('socket.io'), express = require ('express'); var app = express.createServer (), io = io.listen (แอป); app.listen (80); io.sockets.on ('การเชื่อมต่อ', ฟังก์ชั่น (ซ็อกเก็ต) {socket.emit ('ข่าว', {สวัสดี: 'โลก'}); // ฟังเมื่อไคลเอนต์เชื่อมต่อข้อมูลจะถูกส่งข้อมูลพารามิเตอร์แรก 'ใหม่' คือชื่อข้อมูลของลูกค้า console.log (data.my);});ลูกค้าสามารถแสดงผลการทดสอบได้ตามปกติ
ฝั่งเซิร์ฟเวอร์แสดงผลลัพธ์:
c:/java/nodejs> โหนด Server2.js
หมายเหตุ: รหัสควรอยู่ในไดเรกทอรีเดียวกับ NPM_Module มิฉะนั้นจะไม่พบโมดูล socket.io