Farklı Bir Eşe Bağlanma Ekle

saqut 2024-03-19 01:03:38 +03:00
parent 0366dc190e
commit e0f08b7c80
1 changed files with 62 additions and 0 deletions

@ -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();
})
```