package main import ( "flag" "log" "net" "git.sr.ht/~rctt/solecd/core" ) var listenAddr string func main() { flag.StringVar(&listenAddr, "a", "localhost:9999", "Listening address:port") flag.Parse() log.Print("starting solec daemon mock") log.Fatal(listen()) } func listen() error { ln, err := net.Listen("tcp", listenAddr) if err != nil { return err } log.Print("server is listening on: ", listenAddr) for { conn, err := ln.Accept() if err != nil { log.Print("cannot accept connection: ", err) } go handle(conn) } } func handle(conn net.Conn) { log.Print("received connection from: ", conn.RemoteAddr()) hs := core.Handshake{Version: 0x0} if err := core.Send(conn, core.TypeHandshake, hs); err != nil { log.Print("cannot send handshake ", err) return } test := core.Test{Message: "solec kujawski jest zajebisty"} if err := core.Send(conn, core.TypeTest, test); err != nil { log.Print("cannot send test message ", err) return } }