golang udp 读不到数据

BethlyRoseDaisley · · 1662 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

运行环境,amd64 ubuntu18.04 我在win10上 给 ubuntu下的go udp server 的8008 端口 不停的发rtp数据包 但是go程序一直读不到数据 ,阻塞在read那里,我确认 ubuntu和windows是通的,tcpdump也能抓到 8008端口的包, ![image.png](https://static.studygolang.com/190417/272a6fa2a93bb70ffcaf5b15b4a74de8.png) 1、其次我用c++在ubuntu上写的client 给 8008发数据 go程序是能收到的, 2、我用c++写的udp server 也能 收到window发来的rtp包, 但是就是go程序收不到 任何win 发来的 rtp包 阻塞在read那里。 本人go新人,想问问是什么原因,或者往什么方向查原因。 下面贴代码。 ```go package main import ( "net" log "github.com/astaxie/beego/logs" ) func handleConnection(conn *net.UDPConn) { log.Debug("on message") buffer := make([]byte, 1024) n, remoteAddr, err := conn.ReadFromUDP(buffer) if err != nil { log.Error("failed to read UDP msg because of ", err.Error()) return } log.Debug("recv ", n, " message from ", /*remoteAddr.String(),*/ ": ", buffer) } func main(){ log.Info("==========system init==========") localAddress := net.UDPAddr{IP: net.ParseIP("127.0.0.1"), Port: 8008}; addr, err := net.ResolveUDPAddr("udp", "127.0.0.1:8008") if err != nil{ log.Critical("net ResolveUDPAddr Error.") } log.Debug("local addresses : ", addr.IP, ":", addr.Port) log.Debug("net start.") conn, err := net.ListenUDP("udp", &localAddress) if err != nil { log.Critical("net ListenUDP.") } log.Debug("net end.") defer conn.Close() for { handleConnection(conn) } } ``` ![image.png](https://static.studygolang.com/190417/22615d21d673db1167693e7fea3374b2.png)

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1662 次点击  
加入收藏 微博
8 回复  |  直到 2019-04-17 19:43:29
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传