Files
rdp_channel/app/server.go

55 lines
922 B
Go

package app
import (
"fmt"
"log"
"net"
"rdp_channel/protocol"
)
type Server struct {
Host string
Port int
}
func NewServer(host string, port int) Server {
return Server{host, port}
}
func (server Server) Start() error {
addr := fmt.Sprintf("%s:%d", server.Host, server.Port)
listener, err := net.Listen("tcp", addr)
if err != nil {
return err
}
defer listener.Close()
log.Println("[SERVER] listening on " + addr)
for {
conn, err := listener.Accept()
if err != nil {
continue
}
go handleConnection(conn)
}
}
func handleConnection(conn net.Conn) {
defer conn.Close()
log.Println("[SERVER] new connection from " + conn.RemoteAddr().String())
tpkt := protocol.NewTPKT(conn)
//fast := protocol.NewFastPath(conn)
//x224 := protocol.NewX224(conn)
for {
payload, err := tpkt.Read()
if err != nil {
continue
}
log.Println("[SERVER] received payload: " + string(payload))
}
}