ljymoonlight

导航

golang1.1 tcp client 发送接收例程

TCP Client 编程

  • golang 建立tcp client 非常简单,这里记录一个例程作为笔记方便下次写测试代码时候调用。
package models

import (
	"net"
	"time"
)

const (
	addr = "127.0.0.1:8000"
)

func ST_RPC(str string) string {
	conn, err := net.Dial("tcp", addr) //这一句就是建立tcp client 连接,golang 非常简单。其实道理 一样,如果自己平时积累C库也是一句话调用的事情。 编程重点还是思想。 
	if err != nil {
		return "连接服务端失败:" + err.Error()
	}
	//fmt.Println("已连接服务器")
	defer conn.Close()
	return client(conn, str)
}

func client(conn net.Conn, str string) string {

	conn.Write([]byte(str))
	buf := make([]byte, 1024*128)
	conn.SetReadDeadline((time.Now().Add(time.Second * 10))) //设置10秒超时等待,如果需要阻塞等待直接删除这句
	c, err := conn.Read(buf)
	if err != nil {
		return "读取服务器数据异常:" + err.Error()
	}
	return string(buf[:c])
}

posted on 2021-04-24 23:50  ljymoonlight  阅读(713)  评论(0编辑  收藏  举报