From e37b35102d5b39b80da2105c41d4fcbd083042db Mon Sep 17 00:00:00 2001 From: saqut Date: Tue, 19 Mar 2024 01:10:33 +0300 Subject: [PATCH] =?UTF-8?q?Oda=20Kurma=20ve=20Y=C3=B6netme=20Ekle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Oda-Kurma-ve-Y%C3%B6netme.md | 86 ++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 Oda-Kurma-ve-Y%C3%B6netme.md diff --git a/Oda-Kurma-ve-Y%C3%B6netme.md b/Oda-Kurma-ve-Y%C3%B6netme.md new file mode 100644 index 0000000..8b00f03 --- /dev/null +++ b/Oda-Kurma-ve-Y%C3%B6netme.md @@ -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', () => { }) +}); \ No newline at end of file