
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
- how many Teams can be created?
I am creating an app where I will let users create groups. This could mean there will be many groups created by user, to isolate those groups properly I am thin...
- realtime failing
Hi everyone! I'm running into a weird issue with Appwrite realtime in my chat app and was hoping someone might have some insights. I have a chat view, and whe...
- Realtime not working with setSession as ...
Raising this here as the Issue on github hasnt been touched by devs since nov 28 2024 and it feels like a really trivial thing to fix. The issue recides in the ...
