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

}

}

相关推荐
Ophelia(秃头版2 小时前
JS事件循环与NodeJS事件循环(libuv)
开发语言·javascript
米饭的白色2 小时前
matlab 中 `对数坐标` 画图下的 `hold on` 位置对坐标轴刻度的影响
开发语言·matlab
gjxDaniel2 小时前
Go编程语言入门与常见问题
开发语言·后端·go
建群新人小猿3 小时前
陀螺匠企业助手——组织框架图
android·java·大数据·开发语言·容器
CV_J3 小时前
索引库操作
java·开发语言·elasticsearch·spring cloud
阿蒙Amon3 小时前
C#每日面试题-简述异常处理
开发语言·c#
敲敲千反田3 小时前
多线程复习
java·开发语言
LaoZhangGong1233 小时前
学习TCP/IP的第6步:断开连接
网络·学习·tcp/ip·以太网
上海云盾安全满满3 小时前
如何隐藏业务的IP
网络·网络协议·tcp/ip
APIshop4 小时前
Java获取item_get-获得某书商品详情接口
java·开发语言·python