
Hello, I'd like to subscribe to the realtime channel "documents" to get all change events. I am using this C# call:
await socket.ConnectAsync(new Uri("wss://[HOST]/v1/realtime?project=[PROJECT-ID]&channels[]=documents"), CancellationToken.None);
The connection is opened but I receive this error from the appwrite server:
{"type":"connected","data":{"channels":["documents"],"user":null}} {"type":"error","data":{"code":1003,"message":"Message format is not valid."}}
Can please someone tell me what am I missing? I used this rfc to figure out how to communicate with the websocket endpoint: https://github.com/appwrite/rfc/blob/main/014-realtime-api.md

Realtime with c#? What are you trying to do?
Also, maybe using the sdks as reference might be best. Are you able to read JavaScript? Or maybe dart?

I am using C# for a client application (WinForms). Unfortunatelly there is no C# Client SDK available. For the REST part I use the client sdk created by the swagger code generator. This works so far for me. Now I try to get events everytime a document has changed, done by other instances of the client application, so that I can update the view.

I see I see. So are you comfortable with reading JavaScript or dart?

How to Manually use Realtime API

Yes, reading JavaScript would be no Problem.
Currently I managed at least, that I receive events for documents with the access type "Any". As in the response after connect can be seen, user is set to null.
{"type":"connected","data":{"channels":["documents"],"user":null}}
I authenticate using Email authentication. Is there a way to use this session also for the websocket connection?

Perhaps you can implement this in your c# code: https://github.com/appwrite/sdk-for-web/blob/1dde5c7bc91b18bfc1f4e2a80b0ba77017db66fe/src/client.ts#L262.
After getting connected, the client needs to send an authentication message.

Thank you very much, it's working now. đŸ™‚

[SOLVED] How to Manually use Realtime API
Recommended threads
- Received duplicate events
I used the React Native SDK to subscribe to `buckets.<ID>.files` on the client side. When the backend creates a file, two events are logged in my client's conso...
- Realtime unexpected behavior.
It was working but suddenly it gives me this error in log and after that no any further update for document changes.
- Appwrite Sites and localStorage Problem ...
I'm currently struggling with the localStorage Problem and Custom Sites. My goal is to move our Flutter Web App to Appwrite Sites. When just deploying it I'm ...
