Golang 检测端口是否被占用:完整示例代码

在 Golang 中,可以使用 net 包来判断端口号是否被占用。以下是一个示例代码:gopackage main

import ( 'fmt' 'net')

func main() { port := 8080

// 尝试监听指定端口	listener, err := net.Listen('tcp', fmt.Sprintf(':%d', port))	if err != nil {		// 端口被占用		fmt.Printf('端口 %d 已被占用

', port) return } defer listener.Close()

// 端口未被占用	fmt.Printf('端口 %d 未被占用

', port)}

代码说明:

  1. 导入 net 包: 首先,我们需要导入 net 包,它提供了网络编程所需的功能。2. 指定端口号: 将需要检测的端口号赋值给变量 port。3. 尝试监听端口: 使用 net.Listen('tcp', fmt.Sprintf(':%d', port)) 尝试监听指定的端口。 * 如果监听成功,listener 将会是一个有效的监听器对象,err 将为 nil。 * 如果监听失败,err 将包含错误信息,通常是因为端口已被占用。4. 判断端口占用情况: 根据 err 是否为 nil 来判断端口是否被占用。 * 如果 err 不为 nil,则说明端口已被占用,打印相应的提示信息。 * 如果 errnil,则说明端口未被占用,打印相应的提示信息。5. 关闭监听器: 最后,使用 defer listener.Close() 语句在函数返回前关闭监听器,释放资源。

总结:

通过上述代码,我们可以方便地使用 Golang 检测端口是否被占用。这在网络编程中非常有用,例如检查服务是否正常运行,避免端口冲突等。

Golang 检测端口是否被占用:完整示例代码

原文地址: https://www.cveoy.top/t/topic/fBhg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录