public void Stop() { Disconnect(); _sharedObject.Dispose(); cwc.Dispose(); _netConnection = null; _sharedObject = null; }
public void Connect() { var result = cwc.DownloadString(String.Format(_channelUrl,_user)); if (string.IsNullOrEmpty(result)) return; ChatId = GetSubString(result, @"""chatroom"":""(.*?)""", 1); if (string.IsNullOrEmpty(ChatId)) return; _netConnection = new NetConnection(); _netConnection.ObjectEncoding = ObjectEncoding.AMF0; _netConnection.OnConnect += _netConnection_OnConnect; _netConnection.NetStatus += _netConnection_NetStatus; _netConnection.Client = this; _netConnection.Connect(_chatUrl, _userId, _userToken, ChatId); _sharedObject = (GGChat)RemoteSharedObject.GetRemote(typeof(GGChat), "chat" + ChatId, _chatUrl, true); _sharedObject.ClearEvents(); _sharedObject.MessageReceived += OnMessageReceived; _sharedObject.ObjectEncoding = ObjectEncoding.AMF0; _sharedObject.OnConnect += new ConnectHandler(_sharedObject_OnConnect); _sharedObject.OnDisconnect += new DisconnectHandler(_sharedObject_OnDisconnect); _sharedObject.NetStatus += new NetStatusHandler(_netConnection_NetStatus); _sharedObject.Sync += new SyncHandler(_sharedObject_Sync); _sharedObject.SendMessage += new SendMessageHandler(_sharedObject_NewMessage); }