How to consume WebSocket service from desktop application and be able to subscribe to the WS events?

In the java-script implementation of the WebSocket client's all is simple. You connect to the WS and subscribe to the event you want.

But, in C# I only can connect (not without a trouble) to the WS and start receiving messages from the WS, but how do I subscribe or unsubscribe from event?

I have used ClientWebSocket and WebSockets4Net.

I have this, how I think, not a very brilliant idea - to use node.js to run the java-script version of the WebSocket client, and then use Web API or Socket server to pass data from node.js server to my desktop app.