CoSync/lab/main.gone
2025-01-01 22:18:08 +01:00

86 lines
1.3 KiB
Plaintext

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")
}