为了账号安全,请及时绑定邮箱和手机立即绑定

ReadFromUDP 不会阻塞

ReadFromUDP 不会阻塞

Go
桃花长相依 2021-06-11 11:10:29
我试图用 go 构建一个 udp 服务器,发现 UDPConn 的 ReadFromUDP 方法不会阻塞线程。我用谷歌搜索有一些人面临这个问题,但没有找到解决方案。我的系统是 osx 10.8.2,go 版本是 1.1.1代码清单如下addr, _ := net.ResolveUDPAddr("udp", "localhost:10234")conn, err := net.ListenUDP("udp", addr)if err != nil {    fmt.Println(err.Error())    return}defer conn.Close()var buf []bytefor {    n, remote_addr, _ := conn.ReadFromUDP(buf)    fmt.Println("from", remote_addr,"got message:", string(buf[:n]))}我得到了一个列表: from <nil> got message:
查看完整描述

2 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

我将系统更新为 osx 10.8.4 上面的代码无法正常工作。

我将udp 服务器代码与我的进行比较。

并改变var buf []bytebuf := make([]byte, 1024)

现在效果很好。


查看完整回答
反对 回复 2021-06-21
?
慕容708150

TA贡献1831条经验 获得超4个赞

我相信 OSX 中有些东西坏了。您的代码,只是稍微修改为不忽略错误等,在 Linux 上运行得很好。


查看完整回答
反对 回复 2021-06-21
  • 2 回答
  • 0 关注
  • 679 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信