How it works: video chat with a server

<< Click to display table of contents >>

How it works: video chat with a server



Although rvcamsender TRVCamSender and rvcamreceiver TRVCamReceiver can be directly connected to each other, this type of connection is not very convenient to connect multiple clients, because you need to implement many features yourself: maintaining a list of clients, resending received data to another clients, etc.

To solve these problems, we implemented a server component: rvmediaserver TRVMediaServer.

TRVMediaServer can receive data (video, audio, files, commands, etc.) from multiple senders and send them to multiple receivers. It implements several mechanisms allowing to determine which receivers receive data from each sender: private communications, groups, personal lists of allowed senders, personal lists of default receivers.

Each client of a server may consist of one more more TRVCamSenders and a single TRVCamReceiver. Multiple senders are useful to implement sending different types of data using different protocols (video and audio using UDP, other data using TCP).