Spaces:
Runtime error
Runtime error
File size: 911 Bytes
34fee23 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
package server
import (
"fmt"
"log"
"net"
"NextConnect/utils"
)
func Start() {
config := utils.LoadConfig()
listenAddr := fmt.Sprintf("%s:%d", config.Server.BindAddr, config.Server.BindPort)
var listener net.Listener
var err error
// 如果启用了加密,则使用TLS
if config.Proxy.EncryptionEnabled {
// 这里需要实现TLS监听器
// 暂时使用普通TCP监听器
listener, err = net.Listen("tcp", listenAddr)
if err != nil {
log.Fatalf("Failed to listen on %s: %v", listenAddr, err)
}
} else {
listener, err = net.Listen("tcp", listenAddr)
if err != nil {
log.Fatalf("Failed to listen on %s: %v", listenAddr, err)
}
}
defer listener.Close()
log.Printf("Server listening on %s", listenAddr)
for {
conn, err := listener.Accept()
if err != nil {
log.Printf("Failed to accept connection: %v", err)
continue
}
go handleConnection(conn)
}
} |