Обработка ICE
This commit is contained in:
37
boot/boot.go
Normal file
37
boot/boot.go
Normal file
@@ -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)
|
||||||
|
}
|
||||||
25
main.go
25
main.go
@@ -1,27 +1,8 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import "g365sfu/boot"
|
||||||
"g365sfu/logger"
|
|
||||||
"g365sfu/sfu"
|
|
||||||
"g365sfu/socket"
|
|
||||||
"net/http"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"github.com/joho/godotenv"
|
|
||||||
)
|
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
godotenv.Load()
|
// Инициализация и запуск SFU сервера
|
||||||
sfu.InitWebRTCEngines()
|
boot.Bootstrap()
|
||||||
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)
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user