Oda Kurma ve Yönetme Ekle
parent
53d221ce8c
commit
e37b35102d
|
@ -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', () => { })
|
||||||
|
});
|
Loading…
Reference in New Issue