learning_go/book_with_bridge/ftp_server/main.go
Пивкин Александр Николаевич 77c0e5419c Added devp-deploy to rbd-exporter
2026-01-02 16:13:44 +03:00

46 lines
674 B
Go

package main
import (
"flag"
"fmt"
"log"
"net"
"path/filepath"
"main/ftp"
)
var port int
var rootDir string
func init() {
flag.IntVar(&port,"port",9090,"port to listet")
flag.StringVar(&rootDir,"rootDir","public","root Directory")
flag.Parse()
}
func handleConn(conn net.Conn) {
defer conn.Close()
absPath, err := filepath.Abs(rootDir)
if err != nil {
fmt.Print(err)
}
ftp.Serve(ftp.NewConn(conn,absPath))
}
func main() {
server := fmt.Sprintf(":%d",port)
listener,err := net.Listen("tcp",server)
if err != nil {
log.Fatal(err)
}
for {
conn, err := listener.Accept()
if err != nil {
fmt.Print(err)
continue
}
handleConn(conn)
}
}