Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "net"
- "time"
- )
- func main() {
- resp := ""
- fmt.Print("(c)lient or (s)erver ?")
- fmt.Scan(&resp)
- fmt.Println("")
- b := make([]byte, 512, 512)
- p := uint64(0)
- if resp == "s" {
- listener, err := net.Listen("tcp", "127.0.0.1:10000")
- if err == nil {
- conn, err := listener.Accept()
- if err == nil {
- t0 := time.Now()
- fmt.Println("new connection from", conn.RemoteAddr())
- for {
- n, err := conn.Write(b)
- if n < len(b) {
- fmt.Println(n)
- }
- p += uint64(n)
- if (p > 1000000000) || (err != nil) {
- break
- }
- }
- conn.Close()
- fmt.Println("sent", p, "in sec", time.Since(t0))
- }
- }
- } else if resp == "c" {
- conn, err := net.DialTimeout("tcp", "127.0.0.1:10000", 10*time.Second)
- if err == nil {
- for {
- n, err := conn.Read(b)
- if n < len(b) {
- fmt.Println(n)
- }
- p += uint64(n)
- if err != nil {
- break
- }
- }
- conn.Close()
- fmt.Println("recv total", p)
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement