当前位置:   article > 正文

go实现tcp客户端

go实现tcp客户端

package main
 
import (
    "fmt"
    "net"
    "os"
    "time"
)
 
func main() {
    if len(os.Args) != 2 {
        fmt.Fprintf(os.Stderr, "Usage: %s host:port\n", os.Args[0])
        os.Exit(1)
    }
    service := os.Args[1]
 
    conn, err := net.Dial("tcp", service)
    if err != nil {
        fmt.Fprintf(os.Stderr, "Error dialing: %s\n", err)
        os.Exit(1)
    }
    defer conn.Close()
 
    go func() {
        t := time.NewTicker(time.Second)
        defer t.Stop()
        for {
            <-t.C
            conn.Write([]byte("Hello, server!\n"))
        }
    }()
 
    buf := make([]byte, 512)
    for {
        n, err := conn.Read(buf)
        if err != nil {
            fmt.Fprintf(os.Stderr, "Error reading: %s\n", err)
            os.Exit(1)
        }
        fmt.Print(string(buf[:n]))
    }
}

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/336449?site
推荐阅读
相关标签
  

闽ICP备14008679号