package lab import ( "io" "net" // "os" "time" // "sync" ) func NotMain() { TestServer() // f, err := os.Open("/home/shared/Workplan/CoSync/lab/") // if err != nil { // panic(err) // } // files, err := f.Readdir(0) // if err != nil { // panic(err) // } // for _, v := range files { // println(v.Name(), v.IsDir()) // } } func Server() { listener, err := net.Listen("tcp", "localhost:4945") if err != nil { panic(err) } defer listener.Close() conn, err := listener.Accept() if err != nil { panic(err) } defer conn.Close() msg, err := io.ReadAll(conn) if err != nil { panic(err) } conn.Write([]byte("hello from server")) io.Closer.Close(conn) print("[SERVER] ", conn.RemoteAddr().String(), " : ") println(string(msg)) } func Client(message string) { srv, err := net.Dial("tcp", "localhost:4945") if err != nil { panic(err) } defer srv.Close() // format message // msg := make([]byte, 0) // msg = append(msg, []byte(message)...) msg2 := []byte(message) srv.Write(msg2) println("[Client] Wrote msg") //TODO: reprise var b []byte b2, err :=srv.Read(b) if err != nil { panic(err) } println("[Client] Read msg : " + string(b2)) } func TestServer() { go Server() go Client("this is a test") time.Sleep(3 * time.Second) println("[Main] finished") }