4 Veri Transferi / Tünelleme
saqut edited this page 2024-03-19 01:09:18 +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.

MWSE üzerinde karşılıklı mesajlaşma için 2 metodoloji bulunur bunlardan birisi serbest mesajlaşmadır ve bu şekilde çalışır

mwse.scope(async () => {
    let me = mwse.peer('325a8f7f-eaaf-4c21-855e-9e965c0d5ac9');

    // Tüm kullanıcılar size mesaj iletebilir
    await peer.disablePairAuth();
    
    // Bu şekilde serbest bir şekilde herhangi bir zamanda karşılıksız mesaj iletebilirsiniz
    peer.send({
        text: "Good morning"
    })

    // Kullanıcı her hangi bir mesaj gönderdiğinde burası tetiklenir
    peer.on('message', message => {
        if(text.message == "Good morning")
        {
            // Eğer mesaj için bir cevap bekliyorsa cevap veriyoruz
            peer.send("You are welcome");
        }else{
            // Ancak mesaj önceden gönderdiğimiz isteğin cevabıysa görüntülüyoruz
            console.log("Reply is :", message) // --> You are welcome
        }
    })
})
  1. yöntem ise el sıkışmalı mesajlaşmadır ve gönderdiğiniz bir mesaja verilen karşılık olarak sistem, gelen mesajın gönderdiğiniz hangi mesaja karşılık olarak gönderildiğini tuttuğu için request/response şeklinde ilerleyebilir
mwse.scope(async () => {
    let peer = mwse.peer('325a8f7f-eaaf-4c21-855e-9e965c0d5ac9');
    let me = mwse.peer('me');

    // Tüm kullanıcılar size mesaj iletebilir
    await me.disablePairAuth();

    // Bizden istenecek veriler için önceden cevapları hazırlıyoruz
    me.on('request', ({body, response}) => {
        switch(body.message)
        {
            case "Good morning":{
                // "Good moning" olarak gelen mesaja cevap olarak "You are welcome" metnini iletiyoruz
                response("You are welcome")
                break;
            }
        }
    })

    
    // Bu şekilde serbest bir şekilde herhangi bir zamanda karşılıksız mesaj iletebilirsiniz
    // Burdaki asıl nokta, istek gönderdiğinizde eş cevap verene kadar sistem bu satırda bekleyecektir
    let response = await peer.request({
        message: "Good morning"
    });
    // Sistem json olarak mesajlaştığı için herhangi bir ek veri olmadan response fonksiyonu içinde verilen veri olduğu gibi geri dönülür
    // Ana paket üzerinde herhangi bir düzenleme yapılmaz
    console.log(response) // response ---> You are welcome
})

Bu şekilde hem okunabilirlik artar hemde mesajlar karşılıklı olarak etki-tepki şeklinde ilerler