Fenix
.NET implementation of Phoenixframework websocket socket protocol
Install / Use
/learn @mjaric/FenixREADME
Fenix
Thread safe .NET Standard 2 implementation of Phoenix framework websocket protocol.
Supported/Tested .NET Runtime
- NETCore 2.1.0
- Mono 5.16.0.221
- .NET Framework 4.6 and above
Dependencies:
- Newtonsoft.Json 12.0.1
Usage
Add Dependency to Fenix NuGet Package
Add Fenix nuget dependency either using your IDEs Package Manager tool or using command line:
$ dotnet add package Fenix
or amend your csproj/vbproj by adding:
<PackageReference Include="Fenix" Version="0.1.*" />
and then build your project for example:
$ dotnet build MyProject.csproj
Create Fenix Socket
use Fenix;
// some constants
const token = "dsa90disadojsaoijadoiajsodiajs";
// Defaults should be ok, but you can tweak some options, e.g. tur on logging, max retries etc..
var settings = new Settings();
var socket = new Socket(settings);
try
{
var uri = new Uri("ws://localhost:4000/socket/websocket");
// "token" is not required, but below is demo how to pass parameteters while connecting
await _socket.ConnectAsync(uri, new[] {("token", token)});
var channel = _socket.Channel("room:lobby", new {NickName = "Timotije"});
channel.Subscribe("new_msg", (ch, payload) =>
{
Console.WriteLine($@"
Got LOBBY message
{payload.Value<string>("body")}
");
});
var result = await channel.JoinAsync();
Console.WriteLine($"Lobby JOIN: status = '{result.Status}', response: {result.Response}");
await channel.SendAsync("new_msg", new {body = "Hi guys 2"});
Task.Delay(10000)
.ContinueWith(async task => { await channel.LeaveAsync(); })
.ConfigureAwait(false);
}
catch (Exception ex)
{
Console.WriteLine($"Error: [{ex.GetType().FullName}] \"{ex.Message}\"");
}
Related Skills
canvas
346.4kCanvas Skill Display HTML content on connected OpenClaw nodes (Mac app, iOS, Android). Overview The canvas tool lets you present web content on any connected node's canvas view. Great for: -
node-connect
346.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
346.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
