草庐IT

network-tools

全部标签

go - 我在获取 golang.org/x/tools/cmd/goimports 时遇到问题

当我得到golang.org/x/tools/cmd/goimports时gogetgolang.org/x/tools/cmd/goimports...我收到以下错误:packagegolang.org/x/tools/cmd/goimports:unrecognizedimportpath"golang.org/x/tools/cmd/goimports"我试图从源代码编译goimports,所以我从http://github.com/golang/tools.git和https://github.com/bradfitz/goimports以及如何编译它?

networking - 如何知道 net.Listener 何时正确关闭?

我有以下代码:server:=&http.Server{Addr:addr,Handler:r}l,err:=net.Listen("tcp",addr)iferr!=nil{logging.Error("Failedopeningsocket:%s",err)}iferr:=server.Serve(l);err!=nil{//errorhandling}当l.Close()被调用时,server.Serve(l)将退出并出错。我想知道这是否真的是一个错误,或者只是有人调用l.Close()的结果(这对我来说不是错误)。有没有正确的方法来做到这一点? 最佳

networking - 从网络接口(interface)获取标志

查看net/interface.go代码,似乎获取接口(interface)标志的唯一方法是作为字符串。这是真的吗?ifstrings.Contains(i.Flags.String(),"broadcast"){感觉恶心。 最佳答案 net.Interface.Flags是一个位掩码。要查看接口(interface)是否具有特定标志,请使用bitwiseANDoperator(&)。例如:ifi.Flags&net.FlagBroadcast!=0{//interfacehasbroadcast}

直径 : support for different AVP dictionary for different network provider (i. e.爱立信、诺基亚)和不同的节点(即 GGSN、Tango)

我们正在努力为OCS创建一个直径适配器。目前我们的AVP字典由go-diameter提供。我们正在尝试提供一个可配置的字典来支持关注vendor特定AVP以支持不同的网络提供商,例如诺基亚和爱立信支持不同的网络流量,例如VoLTE、GGSN、Tango。以下是我们目前正在考虑的两种方法。包括一个包含所有支持的AVP的字典,并有一个单一版本的直径适配器。在代码中构建智能,用于识别哪个节点需要哪些AVP。为我们想要支持的每个字典提供不同的版本,并根据服务提供商的要求进行部署。我在互联网上进行了搜索,看看是否有人做过类似的事情作为概念验证。在确定哪个是更好的实现解决方案方面需要帮助。

go - "Memory used"公制 : Go tool pprof vs docker stats

我编写了一个在我的每个docker容器中运行的golang应用程序。它使用protobufs通过tcp和udp相互通信,我使用Hashicorp的成员列表库来发现我网络中的每个容器。在dockerstats上,我看到内存使用量呈线性增加,因此我试图在我的应用程序中查找任何泄漏。因为它是一个持续运行的应用程序,我使用httppprof检查任何一个容器中的实时应用程序。我看到runtime.MemStats.sys是恒定的,即使dockerstats是线性增加的。我的--inuse_space大约是1MB并且--alloc_space当然随着时间的推移不断增加。这是alloc_space的

network-programming - 你如何在 Go 中有效地使用 net 函数?

例如,具有基本的数据包协议(protocol),例如:[packetTypeint][packetIdint][data[]byte]并让客户端和服务器用它做一些简单的事情(例如,聊天。) 最佳答案 这是一个草率处理紧急错误的客户端和服务器。它们有一些限制:服务器一次只处理一个客户端连接。您可以使用goroutine解决这个问题。数据包始终包含100字节的有效载荷。您可以通过在数据包某处放置一个长度而不对整个结构使用编码/二进制来解决此问题,但我已将其保持简单。这是服务器:packagemainimport("encoding/bi

networking - Golang使用sftp golang库将远程文件复制到本地文件夹

我得到了在远程主机上创建文件的代码:config:=&ssh.ClientConfig{User:"xx",HostKeyCallback:nil,Auth:[]ssh.AuthMethod{ssh.Password("xx"),},}config.SetDefaults()sshConn,err:=ssh.Dial("tcp","192.xx.1.xx:22",config)iferr!=nil{panic(err)}defersshConn.Close()client,err:=sftp.NewClient(sshConn)iferr!=nil{panic(err)}defercl

networking - Go - 检查 IP 地址是否在网络中

给定:网络地址A:(172.17.0.0/16)和来自主机B的IP地址:(172.17.0.2/16)我们如何判断B是否在A中?所有地址都是以下形式的字符串变量:[点十进制表示的IP地址]/[子网掩码]。我是否应该尝试通过操纵字符串来做到这一点(初步想法)。有不同的路径吗?这是Python的同一个问题:HowcanIcheckifanipisinanetworkinpython还有另一种Go方法:Go/GoLangcheckIPaddressinrange2022年3月更新?对于Go1.18,检查answerbelow通过blackgreen 最佳答案

go - 突然go tool : no such tool "compile"

我已经在我的Ubuntu桌面上安装了go,在我关闭计算机之前它运行良好。现在,当我启动我的机器并继续我的项目工作时,我明白了$gobuildgotool:nosuchtool"compile"gotool:nosuchtool"compile"gotool:nosuchtool"compile"gotool:nosuchtool"compile"gotool:nosuchtool"compile"当我尝试构建一个项目时。我在关机之前做的唯一可能有一些影响的事情是使用安装godocsudoapt-getinstallgolang-doc我通过下载go1.10.1.linux-amd64.

networking - 如何检测两个 Golang net.IPNet 对象是否相交?

如何检测两个Golang之间是否有交集net.IPNet对象?也就是说,如果第一个网络是第二个网络的子网或如果第二个网络是第一个网络的子网,如何检查两者。Go是否为这个特定任务提供了实用函数?请参阅下面的测试代码。packagemainimport("fmt""net")funcmain(){_,net1,_:=net.ParseCIDR("1.1.1.1/24")_,net2,_:=net.ParseCIDR("1.1.0.2/16")_,net3,_:=net.ParseCIDR("1.1.1.3/25")_,net4,_:=net.ParseCIDR("1.2.0.4/16")t