package server import ( "fmt" "net" "ripple/udpr" ) type UdpDatagram struct { Addr *net.UDPAddr Payload []byte } func RunSocketLoop(conn *udpr.UDPRConn, socketCh chan<- UdpDatagram) { defer close(socketCh) for { payload, addr, err := conn.ReadFromUDPR() if err != nil { fmt.Println(err) return } socketCh <- UdpDatagram{ Addr: addr, Payload: payload, } } }