Golang 获取监听套接字文件描述符
在 Go 语言中,可以使用net 包中的Listener 接口的File() 方法来获取监听套接字的文件描述符。
示例代码:
package main
import (
"fmt"
"net"
"os"
)
func main() {
ln, err := net.Listen("tcp", ":8080")
if err != nil {
fmt.Println("Error listening:", err)
os.Exit(1)
}
defer ln.Close()
// 获取监听套接字的文件描述符
fd, err := ln.(*net.TCPListener).File()
if err != nil {
fmt.Println("Error getting file descriptor:", err)
os.Exit(1)
}
fmt.Println("Listening on", ln.Addr())
fmt.Println("File descriptor:", fd.Fd())
}
在上面的示例代码中,我们创建了一个 TCP 监听器,并使用File() 方法获取了监听套接字的文件描述符,并打印出来。注意,这里需要将Listener 接口转换为*net.TCPListener 类型才能调用File() 方法。
原文地址: http://www.cveoy.top/t/topic/kTri 著作权归作者所有。请勿转载和采集!