Uni-app外掛下載連結(相容小程式):
npm i @hyoga/uni-socket.io --save
PC版連線例子:
引入socketIo
<script src="socket.io.js"></script>
建立連線:
var socket = new io('http://伺服器IP:埠號?token=TOKEN', {
transports: [ 'websocket']
});
監聽事件:
監聽連線成功事件
socket.on('connect', function() {
console.log("連線成功");
//將自己註冊到SOCKET
socket.emit('conn',{ uid: "會員ID" })
});
監聽自己的註冊狀態,
註冊成功後才可接收訊息
socket.on('conn', function (data) {
if(data[0] == 'ok'){
console.log('註冊成功' )
} else{
console.log('註冊失敗' )
}
});
監聽斷線重連
socket.on('reconnect', function() {
console.log("重連成功");
});
監聽斷線
socket.on('disconnect', function() {
console.log("已下線");
});
監聽全部會員的上線廣播
socket.on('login', function(data) {
console.log("會員上線",data.uid);
});
監聽全部會員的下線廣播
socket.on('loginout', function(data) {
console.log("會員下線",data.uid);
});
接收訊息
socket.on('broadcastingListen', function (data) {
for(i=0;i<data.length;i++){
console.log(data[i]) //與你傳送的msg 一致
}
});
接收警告訊息
socket.on('notice', function (data) {
console.log(data)//例:對方不是好友
});
傳送訊息:
單發
socket.emit("sendmsg",{
"to_id": "接收人會員ID",
"msg": "訊息內容",
"msg_type": "1"//訊息型別
})
群發
socket.emit("sendall",{
"room":"room1",
"message":"Hello"
})
登出socket
socket.disconnect();
socket = null;
本作品採用《CC 協議》,轉載必須註明作者和本文連結