From 1d8474265a4214d431f9d23470c8ccc4e6484bbb Mon Sep 17 00:00:00 2001 From: set Date: Sat, 14 Mar 2026 18:44:19 +0200 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0=20ICE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- boot/boot.go | 37 +++++++++++++++++++++++++++++++++++++ main.go | 25 +++---------------------- 2 files changed, 40 insertions(+), 22 deletions(-) create mode 100644 boot/boot.go diff --git a/boot/boot.go b/boot/boot.go new file mode 100644 index 0000000..b4a9eab --- /dev/null +++ b/boot/boot.go @@ -0,0 +1,37 @@ +package boot + +import ( + "g365sfu/logger" + "g365sfu/sfu" + "g365sfu/socket" + "net/http" + "os" + + "github.com/joho/godotenv" + "github.com/pion/webrtc/v4" +) + +func Bootstrap() { + godotenv.Load() + sfu.InitWebRTCEngines() + if os.Getenv("SECRET") == "" { + logger.LogErrorMessage("server failed to start because not set secret key in .env variables") + return + } + http.HandleFunc("/", socket.HandleWebSocket) + port := os.Getenv("PORT") + if port == "" { + port = "1001" + } + sfu.OnLocalICECandidate = OnLocalICECandidate + logger.LogInfoMessage("server started at x.x.x.x:" + port) + http.ListenAndServe(":"+port, nil) +} + +func OnLocalICECandidate(roomID, peerID string, candidate webrtc.ICECandidateInit) { + logger.LogInfoMessage("new local ICE candidate for peer " + peerID + " in room " + roomID) +} + +func OnServerOffer(roomID string, peerID string, offer webrtc.SessionDescription) { + logger.LogInfoMessage("new server offer for peer " + peerID + " in room " + roomID) +} diff --git a/main.go b/main.go index 795bd0b..a0aa431 100644 --- a/main.go +++ b/main.go @@ -1,27 +1,8 @@ package main -import ( - "g365sfu/logger" - "g365sfu/sfu" - "g365sfu/socket" - "net/http" - "os" - - "github.com/joho/godotenv" -) +import "g365sfu/boot" func main() { - godotenv.Load() - sfu.InitWebRTCEngines() - if os.Getenv("SECRET") == "" { - logger.LogErrorMessage("server failed to start because not set secret key in .env variables") - return - } - http.HandleFunc("/", socket.HandleWebSocket) - port := os.Getenv("PORT") - if port == "" { - port = "1001" - } - logger.LogInfoMessage("server started at x.x.x.x:" + port) - http.ListenAndServe(":"+port, nil) + // Инициализация и запуск SFU сервера + boot.Bootstrap() }