package pool import ( "fmt" "pool/dao" ) var wsSever *Server var rabbitMQ *mq.RabbitMQ //连接池的结构体 type Server struct { hub *hub ErrFun func(err interface{}) //用于接收ws连接池内代码运行时错误信息 } //初始化执行连接池对象 //参数为接收连接池中运行时的一些错误信息的回调方法 func InitWsPool(errfun func(err interface{})) { InitRabbit() wsSever = new(Server) wsSever.hub = newHub() wsSever.ErrFun = errfun go wsSever.hub.run() //开启服务 //go wsSever.hub.ticker() //开启定时服务 } func InitRabbit(){ //forever := make(chan bool) rabbitMQ = mq.NewRabbitMQSimple("im") fmt.Println("rabbitMq start success") // 在没有消息处理后 进行阻塞 //<-forever //不让协程终止 }