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

}

}

相关推荐
再见晴天*_*1 小时前
SpringBoot 中单独一个类中运行main方法报错:找不到或无法加载主类
java·开发语言·intellij idea
lqjun08273 小时前
Qt程序单独运行报错问题
开发语言·qt
酷飞飞4 小时前
Python网络与多任务编程:TCP/UDP实战指南
网络·python·tcp/ip
hdsoft_huge4 小时前
Java & Spring Boot常见异常全解析:原因、危害、处理与防范
java·开发语言·spring boot
风中的微尘5 小时前
39.网络流入门
开发语言·网络·c++·算法
未来之窗软件服务5 小时前
幽冥大陆(二)RDIFSDK 接口文档:布草洗涤厂高效运营的技术桥梁C#—东方仙盟
开发语言·c#·rdif·仙盟创梦ide·东方仙盟
小冯记录编程5 小时前
C++指针陷阱:高效背后的致命危险
开发语言·c++·visual studio
1uther6 小时前
Unity核心概念⑨:Screen
开发语言·游戏·unity·c#·游戏引擎
C_Liu_6 小时前
C++:类和对象(下)
开发语言·c++
coderxiaohan6 小时前
【C++】类和对象1
java·开发语言·c++