# MWSE — Micro WebSocket Engine > **Durum: Go yeniden yazımı (0.1.0) başlıyor.** Mevcut Node.js engine `ws.saqut.com`'da canlı; çekirdek, concurrency'i doğru çözmek için Go'ya taşınıyor. Frontend SDK'nın giriş/çıkış sözleşmesi **değişmiyor**. MWSE, kendisine bağlanan eşleri (peer) birbirleriyle eşleştirip aralarında **düşük gecikmeli veri tünelleri** kuran bir gerçek-zamanlı iletişim motorudur. Sunucu cihazları sanallaştırır; eşler birbirlerinin IP'sini veya cihaz türünü bilmeden, çift yönlü serbestçe haberleşir. Üstünde oda yönetimi, peer pairing, sanal adresleme, dosya transferi ve WebRTC sinyalleşmesi gelir. ## Neden var? Gerçek-zamanlı uygulama altyapısı bugün ya sadece transport (Socket.io) ya da pahalı SaaS (Twilio/LiveKit). MWSE'nin hedefi: **birkaç satırda** oda + mesaj + sesli/görüntülü görüşme kurabileceğin, kendi sunucunda çalışan açık bir motor. ```js const mwse = new MWSE({ endpoint: "wss://ws.saqut.com/" }); mwse.scope(async () => { const room = mwse.room({ name: "lobi", joinType: "free", ifexistsJoin: true }); await room.join(); room.on("message", (peer, data) => console.log(peer.socketId, data)); room.broadcast("herkese merhaba"); }); ``` - **~20 satır** → grup mesajlaşma - **~100 satır** → sesli görüşme - **~500 satır** → görüntülü görüşme Tam örnekler için → [Wiki](https://git.saqut.com/saqut/MWSE/wiki/Home). ## Mimari (özet) ``` [Client SDK] ⇄ WSTS protokolü ⇄ [MWSE Engine] (frontend/) (paket kimliklendirme, (Source/: WebSocket, MessageRouter, request/response/stream) Services/{Auth, Room, Session, IPPressure, DataTransfer, YourID}) ``` - **WSTS protokolü:** WebSocket üzerine kurulu, giden/gelen paketleri kimliklendiren ve "kimden/kime" yönlendiren request-response-stream katmanı. - **Sanal adresleme (IPPressure):** uzun socket hash'leri yerine sanal IP / numara / kısa kod (ör. `15.214.11.74`, `884`, `ZQT`) atayıp eşleri kolayca çağırma. - **Oda sistemi:** `free` / `invite` / `password` / `lock` katılım türleri, per-connection okuma/yazma/bildirim ayarları. ## Yol haritası | Sürüm | İçerik | |------|--------| | **0.1.0** | Go engine çekirdeği + concurrency (goroutine/channel/mutex) + `go test -race` süreç testleri | | **1.0.0** | Go + Frontend + WebRTC tam parite (oda, pairing, sanal adres, tünel, signaling, demolar) | | **2.0.0** | WebRTC Studio: tam WebRTC API, çoklu track/kamera, canvas compositing, SRS yayını, sanal IP çakışma + alt-network | | **2.5.0** | JSON → binary protokol | | **3.0.0** | Platform: Notify (offline/suit), aktif/pasif sync + datastore, 3. parti sunucu köprüsü | Detaylı görevler **Issues** ve milestone'larda. Tasarım bağlamı: `todo.md`. ## Güvenlik MWSE mesajları doğru hedefe ve bozulmadan iletmekten sorumludur. Ancak istemcilerin gönderdiği mesajlar **sokete iletilmeden önce** kullanıcı tarafında manipüle/taklit edilebilir; MWSE bunu **doğrulamaz**. Hassas verileri uygulama katmanında doğrula/şifrele. ## Lisans Bkz. `LICENSE`.