Open vikulin opened 2 years ago
Test code for TCP:
package main
import (
"net"
"log"
"time"
//kcp "github.com/xtaci/kcp-go/v5"
)
func main() {
// start the server
ln, err := net.Listen("tcp", "127.0.0.1:48000")
log.Println("Listening KCP...")
if err != nil {
panic(err)
}
// run the client
go client()
/**
Listening for a connection
**/
_, err = ln.Accept()
if err != nil {
panic(err)
} else {
log.Println("OK.")
}
}
func client() {
// wait for server to become ready
time.Sleep(time.Second)
// dial to the echo server
if sess, err := net.Dial("tcp", "127.0.0.1:48000"); err == nil {
// wait for data write
time.Sleep(time.Second)
data := "."
log.Println("sent:", data[:1])
if _, err := sess.Write([]byte(data[:1])); err != nil {
log.Fatal(err)
}
} else {
log.Fatal(err)
}
}
Output:
$ go run examples/main.go
2022/06/04 12:39:52 Listening KCP...
2022/06/04 12:39:53 OK.
listener.Accept() runs only after a byte is received: but expected to run it after kcp.Dial.
The test code:
Output:
Expected "OK." to follow right after "Listening KCP..."