mirror of
https://github.com/caddyserver/caddy.git
synced 2024-12-30 22:34:15 -05:00
1201492222
* Updated lucas-clemente/quic-go for QUIC 39+ support * Update quic-go to latest
65 lines
1.1 KiB
Go
65 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"log"
|
|
"net"
|
|
|
|
"github.com/bifurcation/mint"
|
|
)
|
|
|
|
var port string
|
|
|
|
func main() {
|
|
var config mint.Config
|
|
config.SendSessionTickets = true
|
|
config.ServerName = "localhost"
|
|
config.Init(false)
|
|
|
|
flag.StringVar(&port, "port", "4430", "port")
|
|
flag.Parse()
|
|
|
|
service := "0.0.0.0:" + port
|
|
listener, err := mint.Listen("tcp", service, &config)
|
|
|
|
if err != nil {
|
|
log.Fatalf("server: listen: %s", err)
|
|
}
|
|
log.Print("server: listening")
|
|
|
|
for {
|
|
conn, err := listener.Accept()
|
|
if err != nil {
|
|
log.Printf("server: accept: %s", err)
|
|
break
|
|
}
|
|
defer conn.Close()
|
|
log.Printf("server: accepted from %s", conn.RemoteAddr())
|
|
go handleClient(conn)
|
|
}
|
|
}
|
|
|
|
func handleClient(conn net.Conn) {
|
|
defer conn.Close()
|
|
buf := make([]byte, 10)
|
|
for {
|
|
log.Print("server: conn: waiting")
|
|
n, err := conn.Read(buf)
|
|
if err != nil {
|
|
if err != nil {
|
|
log.Printf("server: conn: read: %s", err)
|
|
}
|
|
break
|
|
}
|
|
|
|
n, err = conn.Write([]byte("hello world"))
|
|
log.Printf("server: conn: wrote %d bytes", n)
|
|
|
|
if err != nil {
|
|
log.Printf("server: write: %s", err)
|
|
break
|
|
}
|
|
break
|
|
}
|
|
log.Println("server: conn: closed")
|
|
}
|