Skip to content

Instantly share code, notes, and snippets.

@angrypie
Created March 21, 2016 00:26
Show Gist options
  • Save angrypie/11d523db2f4a2f8daf28 to your computer and use it in GitHub Desktop.
Save angrypie/11d523db2f4a2f8daf28 to your computer and use it in GitHub Desktop.
go and udp
package main
import (
"log"
"net"
)
func main() {
log.Println("Start")
addr, _ := net.ResolveUDPAddr("udp4", "localhost:8080")
// по внешнему ip не работает
// addr, _ := net.ResolveUDPAddr("udp4", "23.32.11.22:8080")
con, err := net.DialUDP("udp4", nil, addr)
if err != nil {
log.Println("Dial: ", err)
}
buff := []byte("test packet")
_, err = con.Write(buff)
if err != nil {
log.Println("Write: ", err)
}
log.Println("End")
}
package main
import (
"log"
"net"
)
func main() {
addr, _ := net.ResolveUDPAddr("udp4", ":8080")
sock, _ := net.ListenUDP("udp4", addr)
for {
buff := make([]byte, 1024)
log.Println("Waiting...")
rlen, _, err := sock.ReadFromUDP(buff)
if err != nil {
log.Println("ReadFromUdp: ", err)
}
log.Println("Receive: ", string(buff[0:rlen]))
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment