Oda Kurma ve Yönetme Ekle

saqut 2024-03-19 01:10:33 +03:00
parent 53d221ce8c
commit e37b35102d
1 changed files with 86 additions and 0 deletions

@ -0,0 +1,86 @@
### Oda kurma ve kapatma
Oda sistemi kullanıcıların bir araya gelerek, tek seferde bir grubun
toplu olarak birbirleriyle mesajlaşabileceği bir yapıdır.
Kişiler birbirlerini bulabilir, toplu mesajlar iletebilirler, odaya
katılabilir veya ayrılabilirler
Odanın ayarlarını, odayı ilk oluşturan kişi belirler ve oda bir kez oluşturulduğunda yeniden aynı isimle oda açılamaz
Oda türü (joinType) herkese açık `free`, davet ile `invite`, şifreli `password` veya herkese kapalı `lock` olabilir.
```javascript
mwse.scope(async () => {
let room = mwse.room({
name: "Oda ismi", // odanın görünür ismi
description: "Oda açıklaması", // odanın görünecek ismi
joinType: "free", // herkese açık oda
credential: "****", // varsa şifre
notifyActionInvite: false, // yeni biri katılmak istediğinde tüm peerlere haber iletme özelliği
notifyActionJoined: true, // yeni biri katıldığında tüm peerlere haber iletir
notifyActionEjected: true, // Biri odadan ayrıldığında tüm peerlere haber iletir
ifexistsJoin: false // true ayarlanırsa, oluşturma aşamasında oda zaten var yanıtı alırsa hata vermek yerine odaya katılır
});
// Verilen isime ait odaya katılmak için bu komut yeterlidir
await room.join(); // --> odaya katılırken sorun oluşursa hata fırlatır
// Verilen ayarlara sahip odayı oluşturmak için aşağıdaki komut yeterlidir
await room.createRoom(); // -> oda oluştururken sorun oluşursa hata fırlatır
// Var olan bir odadan ayrılmak için bu komut kullanılabilir
await room.eject();
// İçinde bulunduğu odanın tüm eşlerinin idsini verir
let peers = await room.fetchPeers();
});
```
### Oda içerisinde iletişim
Odaya katıldıktan sonra katılan kişiler `room` üzerinden mesaj iletebilirsiniz, verilen her mesajı sistem istisnasız tüm oda katılımcılarına iletmekten sorumludur
Oda içerisindeki kişiler ile oda içindeki kişilerin listesini alarak özel iletişimede geçebilirsiniz ancak aynı odadaki kişiler sistem tarafında yinede güvenilir kabul edilmez
Sistem pairAuth güvenliği kapalı olan kişilere mesajlar iletir ancak açık olan kullanıcıların her biri için ayrı ayrı eşleşme isteği göndermelisiniz
```javascript
mwse.scope(async () => {
let room = mwse.room({
name: "Oda ismi", // odanın görünür ismi
description: "Oda açıklaması", // odanın görünecek ismi
joinType: "free", // herkese açık oda
notifyActionJoined: true, // yeni biri katıldığında tüm peerlere haber iletir
ifexistsJoin: false // true ayarlanırsa, oluşturma aşamasında oda zaten var yanıtı alırsa hata vermek yerine odaya katılır
});
// Verilen ayarlara sahip odayı oluşturmak için aşağıdaki komut yeterlidir
await room.createRoom(); // -> oda oluştururken sorun oluşursa hata fırlatır
// Oda içerisinde mesaj gönderildiğinde gönderilen paketi dinlemek için aşağıdaki komut kullanılabilir
room.on('message', message => {
// Odaya `message` paketi iletildi
})
// Odaya yeni birisi katıldığında haber almak için aşağıdaki komut kullanılabilir
room.on('join', peer => {
// Odaya katılan kişinin bilgisi peerde tutulur
// Odaya katılan kişiyle bağlantı kurup, oda dışında kendisiyle iletişimede geçebilirsiniz
peer.requestPair();
})
// Odaya birisi ayrıldığında haber almak için aşağıdaki komut kullanılabilir
room.on('eject', peer => {
// Odadan ayrılan kişinin bilgisi peerde tutulur
})
// Odadaki herkese mesaj iletmek için room içerisindeki send komutu kullanılabilir
room.send({
message: "Good year !"
});
// Oda kapatıldığında close tetiklenir
room.on('close', () => { })
});