Skip to content

go disable keepalive do not work #47612

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
moyuduo opened this issue Aug 10, 2021 · 1 comment
Closed

go disable keepalive do not work #47612

moyuduo opened this issue Aug 10, 2021 · 1 comment

Comments

@moyuduo
Copy link

moyuduo commented Aug 10, 2021

What version of Go are you using (go version)?

$ go version
go version go1.13 linux/amd64

Does this issue reproduce with the latest release?

no

What operating system and processor architecture are you using (go env)?

go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOENV="/root/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/root/gopath"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build270385674=/tmp/go-build -gno-record-gcc-switches"

What did you do?

i have write a server use go and disable keepalive, and then i write a client use go to connect this server, why i use wireshark to capture package still capture tcp keepalive package? is disable keepalive do not work?
server code:
listenner, err := net.ListenTCP("tcp", &net.TCPAddr{ Port: port, }) if err != nil { panic(err) } for { conn, err := listenner.AcceptTCP() if err != nil { fmt.Printf("accept error: %s \n", err) continue } conn.SetKeepAlive(false) n, err := conn.Write([]byte("You are welcome. I'm server.")) if err != nil { log.Printf("write datat to client error: %s \n", err) continue } log.Printf("write %d bytes \n", n) }
client code:
`conn, err := net.Dial("tcp", addr)
if err != nil {
fmt.Println("dial failed:", err)
os.Exit(1)
}
defer conn.Close()

buffer := make([]byte, 512)

for {

	n, err := conn.Read(buffer)
	if err != nil {
		fmt.Println("Read failed:", err)
		return
	}

	fmt.Println("count:", n, "msg:", string(buffer))
}`

What did you expect to see?

wireshark do not capture tcp keepalive package

What did you see instead?

@seankhliao
Copy link
Member

Unlike many projects, the Go project does not use GitHub Issues for general discussion or asking questions. GitHub Issues are used for tracking bugs and proposals only.

For questions please refer to https://github.com/golang/go/wiki/Questions

@golang golang locked and limited conversation to collaborators Aug 10, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants