يمكنك استخدامocket.io وengine.io في برامج WeChat المصغرة
تم تغليف websocket الخاص ببرنامج WeChat الصغير مرة واحدة، مما أدى إلى عدم إمكانية استخدام حزمة عميل المقبس.io أو Engine.io مباشرة. استنادًا إلى مشروع Engine.io-client، يقوم هذا المشروع بتنفيذ طبقة النقل الخاصة بـ wxwebsocket يمكن استخدامه في التطبيق الصغير، استخدم كافة ميزات المقبس.
ملاحظة: لا يمكن استخدام الحزمة المترجمة إلا في برامج WeChat المصغرة
$ git clone https://github.com/wujjpp/socket.io.xcx.git
$ cd socket.io.xcx
$ npm install
$ npm run serve
ملاحظة: لتشغيل برنامج الاختبار، يرجى تشغيل "لا تتحقق بيئة التطوير من اسم المجال المطلوب وإصدار TLS"
انسخ dist/socket.io.xcx.min.js إلى الكود المصدري لبرنامجك الصغير واستخدمه مباشرة للحصول على التفاصيل، يرجى الرجوع إلى الأمثلة/التطبيق
يرسل هذا المثيل سلسلة hello
إلى الخادم من خلال رسالة الإرسال. بعد استلامها، يرسل الخادم رسالة إلى العميل.
العميل -> الخادم: مرحبًا
الخادم -> العميل: "مرحبًا بالعالم"
~/examples/app/pages/index/index.js
// 导入socket.io小程序版包
import io from '../../socket.io.xcx.min'
// 使用IO创建socket实例,本实例使用本地socket.io服务器, 请根据根据实际情况修改IP
let socket = io ( 'ws://127.0.0.1:3000' )
function _setup ( ) {
var self = this ;
socket . on ( 'connect' , function ( ) {
console . log ( '连上了' ) ;
} ) ;
socket . on ( 'message' , function ( data ) {
self . data . messages . push ( data . message ) ;
self . setData ( {
messages : self . data . messages
} )
} ) ;
socket . on ( 'disconnect' , function ( ) {
console . log ( 'you have been disconnected' ) ;
} ) ;
}
Page ( {
data : {
messages : [ ]
} ,
onLoad : function ( ) {
_setup . apply ( this ) ;
} ,
send : function ( ) {
socket . emit ( 'message' , 'hello' ) ;
}
} )
~/examples/server/app.js
// Setup basic express server
var express = require ( 'express' ) ;
var app = express ( ) ;
var server = require ( 'http' ) . createServer ( app ) ;
var io = require ( 'socket.io' ) ( server ) ;
var port = process . env . PORT || 3000 ;
server . listen ( port , function ( ) {
console . log ( 'Server listening at port %d' , port ) ;
} ) ;
io . on ( 'connection' , function ( socket ) {
// when the client emits 'message', this listens and executes
socket . on ( 'message' , function ( data ) {
console . log ( 'message from client: ' , data ) ;
io . emit ( 'message' , {
message : data + ' world ' + new Date ( )
} ) ;
} ) ;
// when the user disconnects.. perform this
socket . on ( 'disconnect' , function ( ) {
// echo globally that this client has left
socket . broadcast . emit ( 'user left' , {
message : 'user left'
} ) ;
} ) ;
} ) ;
صُنع باستخدام ♥ بواسطة وو جيان بينغ