27 Star 109 Fork 24

MJ PC Lab/go-http-file-server

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
listener.go 774 Bytes
一键复制 编辑 原始数据 按行查看 历史
小小猫猫 提交于 2021-12-04 00:17 . feat: upgrade goVirtualHost v1.3.0
package goVirtualHost
import (
"net"
"os"
)
func newListener(proto, ip, port string) *listener {
listener := &listener{
proto: proto,
ip: ip,
port: port,
}
return listener
}
func (listener *listener) open() error {
addr := listener.ip + listener.port
if listener.proto == "unix" {
sockInfo, _ := os.Lstat(addr)
if sockInfo != nil && (sockInfo.Mode()&os.ModeSocket != 0) {
os.Remove(addr)
}
}
netListener, err := net.Listen(listener.proto, addr)
listener.netListener = netListener
if listener.proto == "unix" && err == nil {
os.Chmod(addr, 0777)
}
return err
}
func (listener *listener) close() error {
if listener.netListener == nil {
return nil
}
err := listener.netListener.Close()
listener.netListener = nil
return err
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/mjpclab/go-http-file-server.git
git@gitee.com:mjpclab/go-http-file-server.git
mjpclab
go-http-file-server
go-http-file-server
v1.15.1

搜索帮助