You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Dec 7, 2019. It is now read-only.
I use go-stream-muxer write some simple tunnel experimental code. yamux works well, and spdystream always gets stuck for the second or third stream. The experimental code is as below:
client:
package main
import (
"io""log""net"
ymux "github.com/jbenet/go-stream-muxer/spdystream"
smux "github.com/jbenet/go-stream-muxer"// ymux "github.com/jbenet/go-stream-muxer/yamux"
)
funcdial() {
nconn, _:=net.Dial("tcp", "localhost:8080")
// sconn, _ := ymux.DefaultTransport.NewConn(nconn, false) // false == clientsconn, err:=ymux.Transport.NewConn(nconn, false)
iferr!=nil {
log.Fatalf("new stream connection error:%v", err)
}
gosconn.Serve(func(smux.Stream) {}) // no-opl, err:=net.Listen("tcp", ":8079")
iferr!=nil {
panic(err)
}
for {
c, err:=l.Accept()
iferr!=nil {
log.Printf("accept error:%v", err)
continue
}
log.Printf("accept %s", c.RemoteAddr().String())
// Open a new streamstream, err:=sconn.OpenStream()
iferr!=nil {
panic(err)
}
gohandleConn(stream, c)
}
}
funchandleConn(stream smux.Stream, conn net.Conn) {
log.Printf("data transfer")
goio.Copy(stream, conn)
goio.Copy(conn, stream)
// for test only, we do not handle stream closing
}
funcmain() {
dial()
}
Seems like spdystream is also failing in the tests provided in this repo:
➜ go-stream-muxer git:(master) ✗ make test
go get github.com/whyrusleeping/gx
go get github.com/whyrusleeping/gx-go
gx --verbose install --global
installing package: go-stream-muxer-1.1.0
successfully found all deps for go-stream-muxer
installation of dep go-stream-muxer complete!
gx-go rewrite
go test ./...
? github.com/jbenet/go-stream-muxer [no test files]
--- FAIL: TestSpdystream (12.76s)
ttest.go:352: timed out receiving streams
FAIL
FAIL github.com/jbenet/go-stream-muxer/suite 22.887s
? github.com/jbenet/go-stream-muxer/test [no test files]
make: *** [test] Error 1
I consider the spdystream multiplexer to be deprecated. It hasn't been actively maintained since 2017, and we now have first-class support for QUIC (spdy's successor).
I use
go-stream-muxer
write some simple tunnel experimental code.yamux
works well, andspdystream
always gets stuck for the second or third stream. The experimental code is as below:client:
server:
I am not sure whether this is a spdystream bug or there is something wring with my code.
The text was updated successfully, but these errors were encountered: