package main import ( "fmt" "log" "net" "strings" "git.rouggy.com/CloudlogUDP/cloudlog" "git.rouggy.com/CloudlogUDP/clublog" "git.rouggy.com/CloudlogUDP/config" "git.rouggy.com/CloudlogUDP/qrzcom" "git.rouggy.com/CloudlogUDP/qso" ) func main() { fmt.Println("Loading config file...") cfg := config.NewConfig() fmt.Printf("Launching the server on port %v\n", cfg.UDP.Port) udpServer, err := net.ListenPacket("udp", cfg.UDP.Port) if err != nil { log.Fatal(err) } defer udpServer.Close() fmt.Printf("Server listening on port %v for incoming QSO\n", cfg.UDP.Port) for { buf := make([]byte, 4096) _, _, err := udpServer.ReadFrom(buf) if err != nil { fmt.Println(err) continue } msg := string(buf[:]) msgSplit := strings.Split(msg, "<") qso := qso.NewQSO() qso.ExtractQSOData(msgSplit) cloudlog.SendCloudlogMsg(qso, cfg) qrzcom.SendQRZcomlogMsg(qso, cfg) clublog.SendClublogMsg(qso, cfg) } }