Daily's "app-message" events facilitate sending and receiving messages between video call participants, up to 4096 bytes in size, via a peer-to-peer approach using RTCDataChannel or Daily's own WebSocket when in SFU mode. This is sufficient for many applications, but users should be mindful of data sizes and spamming. A server component can be beneficial for features like game state synchronization, performance impact, creating rooms, and server-side validations, as seen in the example of Code of Modern Wordfare using WebSockets. Daily's "app-message" events can also be used client-side without a server, but this requires more logic and processing on the client to validate data and handle potential issues like tampered client data or out-of-sync state. Another alternative is using HTTP for bidirectional communication, which may involve features like long polling, streaming, or server push depending on the use case, with benefits and tradeoffs varying between them.