1 Farklı Bir Eşe Bağlanma
saqut edited this page 2024-03-19 01:03:38 +03:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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

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

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