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