Skip to content

Instantly share code, notes, and snippets.

@btfak
Created November 20, 2013 03:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save btfak/7557442 to your computer and use it in GitHub Desktop.
Save btfak/7557442 to your computer and use it in GitHub Desktop.
递归GC测试server
package main
import (
"fmt"
"net"
"os"
)
var data []byte
var length = 1024 * 100
var count = 0
func main() {
makeData(0)
service := ":80"
tcpAddr, err := net.ResolveTCPAddr("tcp", service)
checkError(err)
listener, err := net.ListenTCP("tcp", tcpAddr)
checkError(err)
for {
conn, err := listener.Accept()
if err != nil {
continue
}
conn.Write(data) // don't care about return value
conn.Close() // we're finished with this client
}
}
func checkError(err error) {
if err != nil {
fmt.Fprintf(os.Stderr, "Fatal error: %s", err.Error())
os.Exit(1)
}
}
func makeData(count int) {
if count == length {
return
}
data = append(data, 'x')
count++
makeData(count)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment