
golang tcp socket编程和http差不多的感觉,也是请求应答的方式,TCP请求需要(ip地址,协议,端口)这三项,跟http请求差不多,我们现在来模拟一个请求和应答来,请求的一方我们就叫做clIEnt.go
package mainimport ( "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,":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,err.Error()) os.Exit(1) }} 总结 以上是内存溢出为你收集整理的golang tcp socket全部内容,希望文章能够帮你解决golang tcp socket所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)