登录
首页 >  Golang >  Go问答

检查 Golang conn.Write 中服务器的可达性

来源:stackoverflow

时间:2024-04-08 12:33:33 211浏览 收藏

积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《检查 Golang conn.Write 中服务器的可达性》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

我正在开发一个尝试将一些数据发送到远程服务器的应用程序。获得主机名后,我将通过使用 net.dialer.dialcontext 解析主机名来获得连接。一旦解析了主机名,我就继续使用 conn.write 方法将数据写入连接。

conn, err := d.DialContext(ctx, string(transport), addr) 
_, err := client.conn.Write([]byte(msg))

遇到错误:我发现由于某些问题,我无法 ping 我的服务器。令人惊讶的是,从 dialcontext 获得的 conn 在执行 conn.write 时没有抱怨,并且它继续写入同一个连接。

有人可以帮助我如何修改我的编写方法,以便在无法访问目标服务器时出现错误吗?


正确答案


来自这个UDP connection example

“已连接”UDP 套接字模拟发送失败的最佳方法是保存 ICMP 响应,并在下次写入时将其作为错误返回。

因此,请尝试(用于测试)进行第二次 conn.Write,以确认这次您确实会收到错误。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《检查 Golang conn.Write 中服务器的可达性》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>