void ServerCommandReceived(object sender, CommandMessageReceivedEventArgs e) { RtmpClient client = (RtmpClient)sender; switch (e.Message.Operation) { case CommandOperation.Login: AcknowledgeMessageExt login = new AcknowledgeMessageExt { Body = "success", CorrelationId = e.Message.MessageId, MessageId = Uuid.NewUuid(), ClientId = Uuid.NewUuid(), Headers = new AsObject { { "DSMessagingVersion", 1.0 }, { FlexMessageHeaders.FlexClientId, e.DSId } } }; client.InvokeResult(e.InvokeId, login); break; case CommandOperation.Subscribe: AcknowledgeMessageExt subscribe = new AcknowledgeMessageExt { Body = null, CorrelationId = e.Message.MessageId, MessageId = Uuid.NewUuid(), ClientId = e.Message.ClientId }; client.InvokeResult(e.InvokeId, subscribe); break; case CommandOperation.Unsubscribe: break; case CommandOperation.ClientPing: break; case CommandOperation.Logout: break; default: throw new NotSupportedException(); } ClientCommandReceived?.Invoke(sender, e); }
void ServerMessageReceived(object sender, RemotingMessageReceivedEventArgs e) { if (ClientMessageReceived != null) { ClientMessageReceived(sender, e); if (e.ReturnRequired) { RtmpClient client = (RtmpClient)sender; client.InvokeResult(e.InvokeId, e.MessageId, e.Data); } } }