Files
go-desk/cmd/gin-service/main.go
2025-09-02 18:33:40 +08:00

54 lines
1.0 KiB
Go

package main
import (
"fmt"
"go-desk/config"
"go-desk/router"
"log"
"net/url"
"strconv"
"github.com/gin-gonic/gin"
"github.com/gorilla/websocket"
"github.com/pion/webrtc/v4"
)
func main() {
appConfig, err := config.LoadConfig()
if err != nil {
fmt.Println(err)
fmt.Println("读取配置失败")
}
app := gin.Default()
router.Init(app)
u := url.URL{Scheme: "ws", Host: "106.12.33.188:6996", Path: "/ws"}
log.Printf("connecting to %s", u.String())
c, _, err := websocket.DefaultDialer.Dial(u.String(), nil)
if err != nil {
log.Fatal("dial:", err)
}
defer c.Close()
// 配置使用自建 STUN 服务器
config := webrtc.Configuration{
ICEServers: []webrtc.ICEServer{
{
URLs: []string{"stun:106.12.33.188:3478"}, // 使用自建 STUN 服务器
},
},
}
// 创建 PeerConnection
peerConnection, err := webrtc.NewPeerConnection(config)
if err != nil {
log.Println(err)
return
}
defer peerConnection.Close()
t := "Hello"
c.WriteMessage(websocket.TextMessage, []byte(t))
app.Run(":" + strconv.Itoa(appConfig.Port))
}