一、背景内容
总结golang基础内容,通过一个实例实时 IM系统简进行总结知识
二、简要的图
简要说明:
1.在server.go中,创建一个Newserver返回server指针的结构体
2.正对这个指针结构体实现两个方法
Handler(处理方法),处理逻辑都是在这里书写
Start(启动方法)端口启动以及调用处理方法
具体看下代码即可
三、代码
涉及的代码:
main.go
package mainfunc main() {server := NewServer("127.0.0.1", 8888)server.Start()
}
server.go
package mainimport ("fmt""net"
)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) Handler(conn net.Conn) {//...当前链接的业务fmt.Println("链接建立成功")
}//启动服务器的接口
func (this *Server) Start() {//socket listenlistener, err := net.Listen("tcp", fmt.Sprintf("%s:%d", this.Ip, this.Port))if err != nil {fmt.Println("net.Listen err:", err)return}//close listen socketdefer listener.Close()for {//acceptconn, err := listener.Accept()if err != nil {fmt.Println("listener accept err:", err)continue}//do handlergo this.Handler(conn)}
}
四、运行代码方式,运行涉及项目的两个文件
go run .\main.go .\server.go
五、验证方式;
客户端telnet验证,如果你的系统没有安装telnet自行开启即可,很简单
5.1服务端开启
5.2客户端连接