Stabilization 234
This commit is contained in:
parent
e9e7ebbbc1
commit
88d87c2c68
|
@ -77,7 +77,7 @@ addService(({
|
||||||
pack: pack,
|
pack: pack,
|
||||||
id:messageId
|
id:messageId
|
||||||
}, 'request']);
|
}, 'request']);
|
||||||
};
|
}else console.error("request/to error not finded Peer");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "response/to":{
|
case "response/to":{
|
||||||
|
@ -93,7 +93,7 @@ addService(({
|
||||||
from: client.id,
|
from: client.id,
|
||||||
pack: pack
|
pack: pack
|
||||||
}, id]);
|
}, id]);
|
||||||
};
|
}else console.error("response/to error not finded Peer");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "pack/room":{
|
case "pack/room":{
|
||||||
|
|
|
@ -65,8 +65,16 @@ wsServer.addListener("connect",(socket) => {
|
||||||
CLIENT_DESTROY(id);
|
CLIENT_DESTROY(id);
|
||||||
Client.clients.set(id, xClient);
|
Client.clients.set(id, xClient);
|
||||||
clearInterval(timer);
|
clearInterval(timer);
|
||||||
|
clearInterval(pingTimer);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
let pingTimer = setInterval(()=> socket.ping('saQut') , 10_000);
|
||||||
|
|
||||||
|
socket.addListener("pong",validationText => {
|
||||||
|
if(validationText.toString('utf8') != "saQut"){
|
||||||
|
socket.close();
|
||||||
|
}
|
||||||
|
})
|
||||||
socket.addListener("message",({type,utf8Data}) => {
|
socket.addListener("message",({type,utf8Data}) => {
|
||||||
stats.ws_recaived_packs++;
|
stats.ws_recaived_packs++;
|
||||||
stats.ws_total_packs++;
|
stats.ws_total_packs++;
|
||||||
|
|
|
@ -36,6 +36,11 @@ export class Connection
|
||||||
}
|
}
|
||||||
public disconnect()
|
public disconnect()
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Eğer bilinerek elle kapatıldıysa otomatik tekrar bağlanmasının
|
||||||
|
* önüne geçmek için autoReconnect bayrağını her zaman kapalı tutmak gerekir
|
||||||
|
*/
|
||||||
|
this.autoReconnect = false;
|
||||||
this.ws.close();
|
this.ws.close();
|
||||||
}
|
}
|
||||||
public addWSEvents()
|
public addWSEvents()
|
||||||
|
@ -54,6 +59,9 @@ export class Connection
|
||||||
}
|
}
|
||||||
private eventClose()
|
private eventClose()
|
||||||
{
|
{
|
||||||
|
for (const callback of this.passiveConnectionEvent) {
|
||||||
|
callback(void 0);
|
||||||
|
}
|
||||||
this.connected = false;
|
this.connected = false;
|
||||||
if(this.autoReconnect)
|
if(this.autoReconnect)
|
||||||
{
|
{
|
||||||
|
@ -79,6 +87,16 @@ export class Connection
|
||||||
this.activeConnectionEvent.push(func);
|
this.activeConnectionEvent.push(func);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
private passiveConnectionEvent : Function[] = [];
|
||||||
|
public onPassive(func:Function)
|
||||||
|
{
|
||||||
|
if(!this.connected)
|
||||||
|
{
|
||||||
|
func()
|
||||||
|
}else{
|
||||||
|
this.passiveConnectionEvent.push(func);
|
||||||
|
}
|
||||||
|
}
|
||||||
private eventMessage(data: string | ArrayBuffer)
|
private eventMessage(data: string | ArrayBuffer)
|
||||||
{
|
{
|
||||||
if(typeof data == "string")
|
if(typeof data == "string")
|
||||||
|
|
|
@ -30,7 +30,7 @@ export default class Peer extends EventTarget
|
||||||
this.mwse = wsts;
|
this.mwse = wsts;
|
||||||
this.info = new PeerInfo(this);
|
this.info = new PeerInfo(this);
|
||||||
this.on('pack',(data:{type?:string,action?:IMessageSymbase,payload?:any}) => {
|
this.on('pack',(data:{type?:string,action?:IMessageSymbase,payload?:any}) => {
|
||||||
if(data.type == ':rtcbase_pack:')
|
if(data.type == ':rtcpack:')
|
||||||
{
|
{
|
||||||
if(this.rtc)
|
if(this.rtc)
|
||||||
{
|
{
|
||||||
|
@ -53,7 +53,7 @@ export default class Peer extends EventTarget
|
||||||
})
|
})
|
||||||
this.rtc.on("output",(payload:object) => {
|
this.rtc.on("output",(payload:object) => {
|
||||||
this.send({
|
this.send({
|
||||||
type: ':rtcbase_pack:',
|
type: ':rtcpack:',
|
||||||
payload: payload
|
payload: payload
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
|
@ -115,16 +115,33 @@ export default class Room extends EventTarget
|
||||||
this.mwse.rooms.delete(this.roomId as string);
|
this.mwse.rooms.delete(this.roomId as string);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
async send(pack: any, wom:boolean = false){
|
async send(pack: any, wom:boolean = false, handshake = false){
|
||||||
if(!this.mwse.writable){
|
if(!this.mwse.writable){
|
||||||
return console.warn("Socket is not writable");
|
return console.warn("Socket is not writable");
|
||||||
}
|
}
|
||||||
await this.mwse.EventPooling.request({
|
if(handshake)
|
||||||
type:'pack/room',
|
{
|
||||||
pack,
|
let {type} = await this.mwse.EventPooling.request({
|
||||||
to: this.roomId,
|
type:'pack/room',
|
||||||
wom
|
pack,
|
||||||
});
|
to: this.roomId,
|
||||||
|
wom,
|
||||||
|
handshake
|
||||||
|
}) as {
|
||||||
|
type:"success"|"fail"
|
||||||
|
};
|
||||||
|
if(type == "fail"){
|
||||||
|
throw new Error("Cant send message to room")
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
await this.mwse.EventPooling.request({
|
||||||
|
type:'pack/room',
|
||||||
|
pack,
|
||||||
|
to: this.roomId,
|
||||||
|
wom,
|
||||||
|
handshake
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
async fetchPeers(filter?:{[key:string]:any}, onlyNumber:boolean = false) : Promise<Number | Peer[]>
|
async fetchPeers(filter?:{[key:string]:any}, onlyNumber:boolean = false) : Promise<Number | Peer[]>
|
||||||
{
|
{
|
||||||
|
|
|
@ -50,12 +50,20 @@ export default class MWSE extends EventTarget {
|
||||||
this.emit('scope');
|
this.emit('scope');
|
||||||
this.activeScope = true;
|
this.activeScope = true;
|
||||||
});
|
});
|
||||||
|
this.server.onPassive(async ()=>{
|
||||||
|
this.emit('close');
|
||||||
|
});
|
||||||
this.packMessagingSystem();
|
this.packMessagingSystem();
|
||||||
}
|
}
|
||||||
|
|
||||||
public writable = 1;
|
public writable = 1;
|
||||||
public readable = 1;
|
public readable = 1;
|
||||||
|
|
||||||
|
public destroy()
|
||||||
|
{
|
||||||
|
this.server.disconnect();
|
||||||
|
}
|
||||||
|
|
||||||
public enableRecaiveData(){
|
public enableRecaiveData(){
|
||||||
this.WSTSProtocol.SendOnly({ type: 'connection/packrecaive', value: 1 })
|
this.WSTSProtocol.SendOnly({ type: 'connection/packrecaive', value: 1 })
|
||||||
this.readable = 1
|
this.readable = 1
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -18,39 +18,11 @@
|
||||||
wsjs.scope(async ()=>{
|
wsjs.scope(async ()=>{
|
||||||
let me = wsjs.peer('me');
|
let me = wsjs.peer('me');
|
||||||
me.disablePairAuth();
|
me.disablePairAuth();
|
||||||
console.log(me.socketId);
|
|
||||||
let room = wsjs.room({
|
|
||||||
accessType: "public",
|
|
||||||
description: "Benim odam",
|
|
||||||
joinType: "free",
|
|
||||||
name: "M.E.",
|
|
||||||
notifyActionInvite: true,
|
|
||||||
notifyActionJoined: true,
|
|
||||||
notifyActionEjected: false,
|
|
||||||
ifexistsJoin: true
|
|
||||||
});
|
|
||||||
|
|
||||||
room.on('updateinfo',(name,value) => {
|
|
||||||
console.log(`Odanın ${name} özelliği ${value} olarak değişti`)
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
window.room = room;
|
|
||||||
|
|
||||||
await room.createRoom();
|
let room = wsjs.datastore({
|
||||||
room.on('message',(...args)=>{
|
type: 'temp',
|
||||||
gg.r++
|
sha256: 'f1290186a5d0b1ceab27f4e77c0c5d68'
|
||||||
gg()
|
|
||||||
console.log(args[0],gg.r)
|
|
||||||
});
|
});
|
||||||
iroom = room;
|
|
||||||
setInterval(()=>{
|
|
||||||
room.send({
|
|
||||||
type: "merhaba"
|
|
||||||
})
|
|
||||||
gg.w++;
|
|
||||||
gg()
|
|
||||||
}, 2000)
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
62
test.html
62
test.html
|
@ -1,62 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Document</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<script src="http://127.0.0.1:7707/script"></script>
|
|
||||||
<script>
|
|
||||||
const wsjs = new MWSE({
|
|
||||||
endpoint: "ws://127.0.0.1:7707"
|
|
||||||
});
|
|
||||||
wsjs.scope(async () => {
|
|
||||||
let me = wsjs.peer('me');
|
|
||||||
|
|
||||||
await me.info.set("name","Abdussamed");
|
|
||||||
await me.info.set("surname","ULUTAŞ");
|
|
||||||
await me.info.set("age","25");
|
|
||||||
await me.info.set("date",1);
|
|
||||||
|
|
||||||
let t = 2;
|
|
||||||
setInterval(()=>{
|
|
||||||
me.info.set("date", t);
|
|
||||||
t++;
|
|
||||||
},2000)
|
|
||||||
|
|
||||||
|
|
||||||
let room = wsjs.room({
|
|
||||||
name: "saqut.com",
|
|
||||||
description: "saqut.com try",
|
|
||||||
joinType: "free",
|
|
||||||
ifexistsJoin: true,
|
|
||||||
accessType: "private",
|
|
||||||
notifyActionInvite: false,
|
|
||||||
notifyActionJoined: true,
|
|
||||||
notifyActionEjected: true
|
|
||||||
});
|
|
||||||
|
|
||||||
await room.createRoom();
|
|
||||||
|
|
||||||
let peers = await room.fetchPeers();
|
|
||||||
for (const peer of peers) {
|
|
||||||
await peer.info.fetch();
|
|
||||||
console.log("Peer info fetched",peer.socketId,peer.info.get());
|
|
||||||
peer.on('info', (name, value) => {
|
|
||||||
console.log("Peer info changed", peer.socketId, name, value, peer.info.get());
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
room.on('join', async peer => {
|
|
||||||
await peer.info.fetch();
|
|
||||||
console.log("Peer info fetched",peer.socketId,peer.info.get());
|
|
||||||
peer.on('info', (name, value) => {
|
|
||||||
console.log("Peer info changed", peer.socketId, name, value, peer.info.get());
|
|
||||||
})
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
Loading…
Reference in New Issue