TCP message bigger than 64kB
MichaIJarosz opened this issue · comments
MichaIJarosz commented
Hello,
I have not found an option to send a message larger than 64kB using TCP. Is there any way to send a larger message?
Jozef Kralik commented
Hi.
You need to use option tcp.WithMaxMessageSize
.
eg:
import(
...
"github.com/plgd-dev/go-coap/v2/tcp"
...
)
...
s := tcp.NewServer(tcp.WithMaxMessageSize(256*1024))
...
MichaIJarosz commented
Thank you.
For posterity:
func main() {
r := mux.NewRouter()
r.Use(loggingMiddleware)
r.Handle("/a", mux.HandlerFunc(handleA))
log.Printf("LISTEN")
s := tcp.NewServer(tcp.WithMaxMessageSize(128*1024), tcp.WithMux(r))
l, err := net.NewTCPListener("tcp4", "0.0.0.0:5688")
if err != nil {
log.Fatal(err)
}
defer s.Stop()
log.Fatal(s.Serve(l))
}