Golang TCP 连接有效,但 UDP 无效
短信预约 -IT技能 免费直播动态提醒
问题内容
我正在通过 netcat 监听
nc -lkp 1902
每当我建立 tcp 连接并尝试发送日志时,它都会起作用
timeout := 30 * time.second
conn, err := net.dialtimeout("tcp", "localhost:1902", timeout)
if err != nil {
panic("failed to connect to localhost:1902")
}
defer conn.close()
f := log.ldate | log.lshortfile
logger := log.new(conn, "example-", f)
logger.println("this is a regular message1")
logger.println("this is a regular message2")
logger.println("this is a regular message3")
logger.println("this is a regular message4")
logger.println("this is a regular message5")
logger.println("this is a regular message6")
输出
example-2022/11/18 technique24.go:21: this is a regular message1
example-2022/11/18 technique24.go:22: this is a regular message2
example-2022/11/18 technique24.go:23: this is a regular message3
example-2022/11/18 technique24.go:24: this is a regular message4
example-2022/11/18 technique24.go:25: this is a regular message5
example-2022/11/18 technique24.go:26: this is a regular message6
但是每当我尝试建立 udp 连接时它都不起作用,有人可以解释为什么我的记录器上什么也没有得到吗?
timeout := 30 * time.Second
conn, err := net.DialTimeout("udp", "localhost:1902", timeout)
if err != nil {
panic("Failed to connect to localhost:1902")
}
defer conn.Close()
f := log.Ldate | log.Lshortfile
logger := log.New(conn, "example-", f)
logger.Println("This is a regular message1")
logger.Println("This is a regular message2")
logger.Println("This is a regular message3")
logger.Println("This is a regular message4")
logger.Println("This is a regular message5")
logger.Println("This is a regular message6")
想要制作一个小poc来通过udp发送日志以减少积压,尝试首先建立tcp连接,它工作正常,但udp不起作用,有人可以解释我必须做什么才能使其工作吗? p>
正确答案
除非另有指定,否则 Netcat 默认情况下会创建 TCP 连接。对于 UDP 连接,您需要使用 netcat 的 -u
标志。来自 netcat 手册页
-u 使用 UDP 代替默认的 TCP 选项。
因此,将侦听器更改为 nc -luk 1902
应该可以解决 UDP 连接的问题。
以上就是Golang TCP 连接有效,但 UDP 无效的详细内容,更多请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
Golang TCP 连接有效,但 UDP 无效
下载Word文档到电脑,方便收藏和打印~
下载Word文档
猜你喜欢
Golang TCP 连接有效,但 UDP 无效
问题内容我正在通过 netcat 监听nc -lkp 1902每当我建立 tcp 连接并尝试发送日志时,它都会起作用timeout := 30 * time.secondconn, err := net.dialtimeout("t
2024-02-06