我在Go中有简单的udp服务,但它只侦听在本地服务器(我的udp服务启动的地方)上生成的数据包。如果数据包来自外部,则它们无法访问我的udp服务。
func ListenUDP(syslog string) (*net.UDPConn) {
udpAddr, _ := net.ResolveUDPAddr("udp4", syslog)
ln, _ := net.ListenUDP("udp", udpAddr)
return ln
}
func Start(conn *net.UDPConn) []byte {
buffer := make([]byte, 2048)
n, _, _ := conn.ReadFromUDP(buffer)
return (buffer[:n])
}
ln, _ := syslogd.ListenUDP("0.0.0.0:12514")
data := syslogd.Start(ln)
我确认数据包没有被本地防火墙或iptables阻止