void handleMessage(AceStreamMessage message) { switch (message.Message) { case "HELLOTS": string key = message["key"]; if (!string.IsNullOrEmpty(key)) { string responseKey = createResponseKey(message["key"]); writeMessage("READY key=" + responseKey); } else { writeMessage("READY"); } break; case "READY": case "AUTH": isReady = true; engineReadyEvent.Set(); if (OnConnected != null) { OnConnected(this, new AceStreamEventArgs()); } break; case "START": currentUrl = message[0]; urlReadyEvent.Set(); if (OnPlaybackReady != null) { OnPlaybackReady(this, new AceStreamEventArgs(currentUrl)); } break; case "PAUSE": if (OnPlaybackPause != null) { OnPlaybackPause(this, new AceStreamEventArgs()); } break; case "RESUME": if (OnPlaybackResume != null) { OnPlaybackResume(this, new AceStreamEventArgs()); } break; } }
void socket_DidRead(AsyncSocket sender, byte[] data, long tag) { lock (clientLock) { if (isClosed) { return; } string msg = Encoding.UTF8.GetString(data).Trim(); log("Message received: {0}", msg); AceStreamMessage tsMessage = AceStreamMessage.Create(msg); sender.Read(AsyncSocket.CRLFData, -1, 0); handleMessage(tsMessage); } }
void handleMessage(AceStreamMessage message) { switch (message.Message) { case "HELLOTS": string key = message["key"]; if (!string.IsNullOrEmpty(key)) { string responseKey = createResponseKey(message["key"]); writeMessage("READY key=" + responseKey); } else { writeMessage("READY"); } break; case "READY": case "AUTH": isReady = true; engineReadyEvent.Set(); if (OnConnected != null) OnConnected(this, new AceStreamEventArgs()); break; case "START": currentUrl = message[0]; urlReadyEvent.Set(); if (OnPlaybackReady != null) OnPlaybackReady(this, new AceStreamEventArgs(currentUrl)); break; case "PAUSE": if (OnPlaybackPause != null) OnPlaybackPause(this, new AceStreamEventArgs()); break; case "RESUME": if (OnPlaybackResume != null) OnPlaybackResume(this, new AceStreamEventArgs()); break; } }