1 server.go
package mainimport ("fmt""net""sync")type Server struct {Ip stringPort int}// 创建一个server的指针func NewServer(ip string, port int) *Server {server := &Server{Ip: ip,Port: port,}return server}// 启动服务器的接口函数func (this *Server) Start() {// 创建一个监听套接字listener, err := net.Listen("tcp", fmt.Sprintf("%s:%d", this.Ip, this.Port))if err != nil {fmt.Println("net.Listen err:", err)return}defer listener.Close()// 创建新套接字, 处理客户端的请求for {conn, err := listener.Accept()if err != nil {fmt.Println("listener accept err:", err)continue}go this.Handler(conn)}}// 处理业务func (this *Server) Handler(conn net.Conn) {fmt.Println("连接建立成功")}
2 main.go
package mainfunc main() {server := NewServer("127.0.0.1", 8888)server.Start()}
3 编绎运行
编绎服务端
go build -o server main.go server.go
运行服务端
./server
模拟客户端向服务端发起连接
nc 127.0.0.1 8888
