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]))

}

}

相关推荐
脏脏a1 分钟前
聊聊 C 里的进制转换、移位操作与算术转换
c语言·开发语言·移位操作符
陳10303 分钟前
C++:string(4)
开发语言·c++
ZHang......5 分钟前
synchronized(三)
开发语言·笔记·juc
许泽宇的技术分享6 分钟前
AgentFramework:错误处理策略
开发语言·c#
阿里嘎多学长16 分钟前
2025-12-21 GitHub 热点项目精选
开发语言·程序员·github·代码托管
wanghowie22 分钟前
01.04 Java基础篇|泛型、注解与反射实战
java·开发语言·windows
DechinPhy25 分钟前
使用Python免费合并PDF文件
开发语言·数据库·python·mysql·pdf
qq_2526144128 分钟前
python爬虫爬取视频
开发语言·爬虫·python
言之。30 分钟前
Claude Code Skills 实用使用手册
java·开发语言
Rinai_R34 分钟前
关于 Go 的内存管理这档事
java·开发语言·golang