README.md
Rendering markdown...
package uboatdemo
import (
"log"
"net"
)
const (
USBIP_DEFAULT_PORT = 3240
)
type UboatServer struct {
listener *net.TCPListener
}
func New() (*UboatServer, error) {
// for demo purposes we listen on localhost and only use default port
listener, err := net.ListenTCP("tcp", &net.TCPAddr{net.ParseIP("127.0.0.1"), USBIP_DEFAULT_PORT, ""})
if err != nil {
return nil, err
}
return &UboatServer{listener}, nil
}
func (srv *UboatServer) Close() error {
return srv.listener.Close()
}
func (srv *UboatServer) Serve() error {
for {
conn, err := srv.listener.Accept()
if err == nil {
go handleConnection(conn)
} else {
log.Println(err)
}
}
}