mtanksl.ActionMessageFormat
1.0.4
dotnet add package mtanksl.ActionMessageFormat --version 1.0.4
NuGet\Install-Package mtanksl.ActionMessageFormat -Version 1.0.4
<PackageReference Include="mtanksl.ActionMessageFormat" Version="1.0.4" />
paket add mtanksl.ActionMessageFormat --version 1.0.4
#r "nuget: mtanksl.ActionMessageFormat, 1.0.4"
// Install mtanksl.ActionMessageFormat as a Cake Addin #addin nuget:?package=mtanksl.ActionMessageFormat&version=1.0.4 // Install mtanksl.ActionMessageFormat as a Cake Tool #tool nuget:?package=mtanksl.ActionMessageFormat&version=1.0.4
AMF.net
An implementation in C# of both AMF0 and AMF3 binary format that is used to serialize ActionScript object graphs.
Why?
So, Flash is dead and Adobe will end support of Flash Player on December 31, 2020. I actually never used Flash and had no knowledge of it's build in communication protocol. It turns out that I had to automate a creepy old software written in Flash. Since I did not find any good library, I've written my own.
Audience
Probably nobody. But hey, It is fun to learn and implement a protocol. I kind liked this one (but no, I will never use it again).
How to serialize an object
var writer = new AmfWriter();
writer.WriteAmfPacket(new AmfPacket()
{
Version = AmfVersion.Amf3,
Headers = new List<AmfHeader>(),
Messages = new List<AmfMessage>()
{
new AmfMessage()
{
TargetUri = "null",
ResponseUri = "/1",
Data = new CommandMessageExt()
{
Operation = 5,
CorrelationId = "",
TimeToLive = 0,
Timestamp = 0,
Headers = new { DSMessagingVersion = 1, DSId = "nil" },
Body = new { },
ClientId = null,
Destination = "",
MessageId = Guid.NewGuid().ToString()
}
}
}
} );
How to deserialize an object
var reader = new AmfReader(writer.Data);
var packet = reader.ReadAmfPacket();
Object Viewer
I've also implemented a custom object viewer. Please note that IExternalizable classes need the definition models within the project. Use [TraitClass] and [TraitMember] attributes to map custom classes and properties.
Fiddler Inspector
I've also implemented a custom Fiddler Inspector. Please note that IExternalizable classes need the definition models within the project. Use [TraitClass] and [TraitMember] attributes to map custom classes and properties. To build, add a reference to C:\Users<USER>\AppData\Local\Programs\Fiddler\Fiddler.exe After build, copy all dlls to C:\Users<USER>\Documents\Fiddler2\Inspectors\
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on mtanksl.ActionMessageFormat:
Package | Downloads |
---|---|
LiveStreamingServerNet.Rtmp
This package provides shared components and utilities for RTMP server and client implementations. |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on mtanksl.ActionMessageFormat:
Repository | Stars |
---|---|
josephnhtam/live-streaming-server-net
A .NET implementation of RTMP live streaming server, supporting HTTP-FLV, WebSocket-FLV, HLS, Kubernetes, cloud storage services integration and more.
|
Version | Downloads | Last updated |
---|---|---|
1.0.4 | 9,026 | 3/9/2020 |