go 网络
原创
©著作权归作者所有:来自51CTO博客作者富坚老贼的原创作品,请联系作者获取转载授权,否则将追究法律责任
1.服务器监听
package main
import (
"net"
)
func main() {
//监听端口
ln, err := net.Listen("tcp", ":8080")
if err != nil {
}
for {
//接收请求建立连接,没有连接阻塞等待
conn, err := ln.Accept()
if err != nil {
// handle error
}
//远程地址
//fmt.Println(conn.RemoteAddr().String())
go client(conn)
}
}
func client(conn net.Conn) {
var b [1024]byte
n, err := conn.Read(b[:])
if err != nil {
println("err")
}
println(string(b[:n]))
}
postman访问的结果
2.客户端
package main
import "net"
func main() {
conn, err := net.Dial("tcp", "127.0.0.1:8080")
if err != nil {
println("err")
return
}
defer conn.Close()
conn.Write([]byte("你好"))
}