public void Start(int room) { UpdateState("正在启动请稍等... ..."); DouyuConfig.room = room; if (craw != null) { craw.DisConnect(); craw.OnDanmaku -= BarrageMnaager_OnReceiveMessage; craw.DisConnectHandler -= Craw_DisConnectHandler; craw.ErrorHandler -= Auth_ErrorHandler; craw.LogHandler -= Auth_LogHandler; craw = null; } AuthSocket auth = new AuthSocket(); auth.OnReady += (obj, a) => { craw = new CrawlerThread(auth.DanmakuServers, auth.GID, auth.RID); craw.OnDanmaku += BarrageMnaager_OnReceiveMessage; craw.DisConnectHandler += Craw_DisConnectHandler; craw.ErrorHandler += Auth_ErrorHandler; craw.LogHandler += Auth_LogHandler; craw.Start(); m_SyncContext.Post(UpdateState, "弹幕服务器连接成功..."); }; auth.ErrorHandler += Auth_ErrorHandler; auth.LogHandler += Auth_LogHandler; auth.Start(); }
private void button2_Click(object sender, EventArgs e) { craw.DisConnect(); }