TURN Sunucusu
Delphi ile kendi TURN (RFC 8656) sunucunuzu çalıştırın. Eşler arası bir yol kuramayan istemciler için, uzun vadeli kimlik bilgileri ve ayırma başına kotalarla aktarmalı taşıma adresleri ayırın.
Delphi ile kendi TURN (RFC 8656) sunucunuzu çalıştırın. Eşler arası bir yol kuramayan istemciler için, uzun vadeli kimlik bilgileri ve ayırma başına kotalarla aktarmalı taşıma adresleri ayırın.
Kendi barındırdığınız bir TURN sunucusu — Allocate / CreatePermission / ChannelBind / Send / Refresh / Data işler, ayırmaları ve bant genişliğini yönetir, uzun vadeli kimlik bilgilerini doğrular.
TsgcTURNServer
Windows, macOS, Linux, iOS, Android
Enterprise
Port + Realm ayarlayın, OnTURNAuthenticate aracılığıyla kullanıcı başına parolalar sağlayın, Active := True — sunucunuz artık herhangi bir RFC 8656 istemcisi için aktarmalar ayırır.
uses
sgcP2P;
var
TURNServer: TsgcTURNServer;
begin
TURNServer := TsgcTURNServer.Create(nil);
TURNServer.Port := 3478;
TURNServer.Realm := 'turn.example.com';
TURNServer.OnTURNAuthenticate := procedure(Sender: TObject;
const aUsername: string; var aPassword: string;
var Accept: Boolean)
begin
aPassword := LookupPassword(aUsername);
Accept := aPassword <> '';
end;
TURNServer.Active := True;
end;
// uses: sgcP2P
TsgcTURNServer *TURNServer = new TsgcTURNServer(this);
TURNServer->Port = 3478;
TURNServer->Realm = "turn.example.com";
TURNServer->Active = true;
Kendi barındırdığınız bir aktarma — WebRTC ve ICE dağıtımlarınızın üçüncü taraf TURN sağlayıcılarına bağımlı olmasını ortadan kaldırır.
REQUESTED-TRANSPORT içeren Allocate isteklerini karşılar, boş bir aktarma portu seçer ve ömrü izler. Refresh ayırmayı uzatır; süre dolduğunda sunucu ayırmayı kaldırır.
Ayırma başına eş izinlerini ve kanal bağlamalarını izler. RFC 8656 §9 uyarınca izin verilmemiş eşler için Send/Data çerçevelerini bırakır.
Hem 36 baytlık Send / Data zarfları hem de 4 baytlık ChannelData çerçeveleri desteklenir. Aktarma, datagramları aktarmalı taşıma adresi ile bağlı eş arasında iletir.
OnTURNAuthenticate kullanıcı adını sunar; siz parolayı döndürürsünüz — sunucu MESSAGE-INTEGRITY değerini doğrular ve nonce değerlerini otomatik olarak değiştirir.
Suistimali sınırlamak için Quota.MaxAllocationsPerUser, Quota.MaxBandwidthKbps, Quota.AllocationLifetime değerlerini ayarlayın. OnQuotaExceeded reddetmeleri bildirir.
Temel sunucunun taşımasını değiştirin — UDP, TCP ve TCP üzerinden TLS'nin tümü desteklenir. WebRTC istemcileri, NAT'larından geçen hangisiyse onu seçer.
Bileşen referansına doğrudan bağlanın, çalışmaya hazır demo projesini alın ve denemeyi indirin.
| Çevrimiçi Yardım — TsgcTURNServer Bu bileşen için tam özellik, metot ve olay referansı. | Aç | |
| Demo Projesi — Demos\35.P2P\03.TURN Çalışmaya hazır örnek proje. sgcWebSockets paketinin içinde gelir — denemeyi aşağıdan indirin. | Aç | |
| Teknik Belge (PDF) Özellikler, hızlı başlangıç, Delphi ve C++ Builder için kod örnekleri ve birincil kaynak referansları — yalnızca bu bileşen. | Aç | |
| Kullanıcı Kılavuzu (PDF) Kütüphanedeki her bileşeni kapsayan kapsamlı kılavuz. | Aç |