首页 > 代码库 > golang tcp socket
golang tcp socket
golang tcp socket编程和http差不多的感觉,也是请求应答的方式,TCP请求需要(ip地址,协议,端口)这三项,跟http请求差不多,我们现在来模拟一个请求和应答来,请求的一方我们就叫做client.go
package main import ( "fmt" "io/ioutil" "net" "os" ) func main() { tcpAddr, err := net.ResolveTCPAddr("tcp4", "127.0.0.1:7777") //获取一个TCP地址信息,TCPAddr checkError(err) conn, err := net.DialTCP("tcp", nil, tcpAddr) //创建一个TCP连接:TCPConn checkError(err) _, err = conn.Write([]byte("HEAD / HTTP/1.0\r\n\r\n")) //发送HTTP请求头 checkError(err) result, err := ioutil.ReadAll(conn) //获得返回数据 checkError(err) fmt.Println(string(result)) os.Exit(1) } func checkError(err error) { if err != nil { fmt.Fprintf(os.Stderr, "Fatal error: %s", err.Error()) os.Exit(1) } }
import ( "fmt" "net" "os" "time" ) func main() { tcpAddr, err := net.ResolveTCPAddr("tcp4", ":7777") //获取一个tcpAddr checkError(err) listener, err := net.ListenTCP("tcp", tcpAddr) //监听一个端口 checkError(err) for { conn, err := listener.Accept() if err != nil { continue } daytime := time.Now().String() conn.Write([]byte(daytime)) conn.Close() } } func checkError(err error) { if err != nil { fmt.Fprintf(os.Stderr, "Fatal error: %s", err.Error()) os.Exit(1) } }
golang tcp socket
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。