diff --git a/Farkl%C4%B1-Bir-E%C5%9Fe-Ba%C4%9Flanma.md b/Farkl%C4%B1-Bir-E%C5%9Fe-Ba%C4%9Flanma.md new file mode 100644 index 0000000..e1a3588 --- /dev/null +++ b/Farkl%C4%B1-Bir-E%C5%9Fe-Ba%C4%9Flanma.md @@ -0,0 +1,62 @@ +Burdaki mantık iki kullanıcının birbirlerini onaylayarak istek-onay şeklinde eşleştirdikten sonra sanal bir veri tünel oluşturmaktır. +`isReachable` peer'in online olup olmadığını sunucuya sorar, `requestPair` ile eşleşme isteği iletirsiniz ve kendisine gelen isteği +`acceptPair` veya `rejectPair` üzerinden cevaplar, rejectPair sucurePair listesine alınmamasını sağlar ve gönderilen hiç bir mesaj diğerine iletilmez +Ancak acceptPair sucurePair listesine alınmasına sebep olur ve request, send ve createRTC metotlarını serbestçe kullanmanızı sağlar + +```javascript +mwse.scope(async () => { + let peer = mwse.peer('325a8f7f-eaaf-4c21-855e-9e965c0d5ac9') // Diğer eşin socketId'sini belirtiyoruz + let me = mwse.peer('me'); + + // Eşin ulaşılabilir (online) olup olmadığını verir + let isOnline = await peer.isReachable(); + + if(isOnline) + { + // İleitşim kurmak için istek gönderiyoruz + await peer.requestPair(); + } + + // Bize gönderilecek olan istekleri dinliyoruz + me.on('request/pair', peer => { + // İstek gönderen kullanıcının bilgileri peer içinde bulunur + // iletişime devam etmek için isteği kabul ediyoruz + peer.acceptPair(); + // veya istemiyorsak reddediyoruz + peer.rejectPair(); + }) + + // Karşımızdaki kullanıcının ne cevap verdiğini + // anlamak için sistem ayrı ayrı cevaplar üretir + + // Kabul ettiyse accept eventini tetikler + me.on('accepted/pair', peer => { + // İstek gönderen kullanıcının bilgileri peer içinde bulunur + }) + + // Reddettiyse veya iletişimi sonlandırmışsa + // end eventi tetiklenir + me.on('end/pair', peer => { + // Kullanıcının bilgileri peer içinde bulunur + }) +}) +``` + +Eşleşme isteğinin kabul ve reddedilmesi sonucu isteği ileten bağlantı ile paylaşılır, bu andan itibaren her iki bağlantı tekrar eşleşme kurana kadar birbirleriyle iletişime geçemezler + +## Eşleşme sistemini kapatma + +Eğer uygulamanızde bu şekilde bir eşleşme güvenliği istemiyorsanız, bunu `disablePairAuth` ile kapatabilir `enablePairAuth` ile geri açabilirsiniz +Herhangi bir ayar vermemeniz durumunda default açıktır. Kapatmanız durumunda mwse sunucuları bağlantıyı keşfeden diğer bağlantıların serbestçe veri göndermelerine izin verir + +```javascript +mwse.scope(async () => { + let me = mwse.peer('me'); + + // Tüm kullanıcılar size mesaj iletebilir + await peer.disablePairAuth(); + + // Sadece eşleşmiş kullanıcılar size mesaj iletebilir + await peer.enablePairAuth(); +}) +``` \ No newline at end of file