Click here to Skip to main content
15,885,366 members
Home / Discussions / Design and Architecture
   

Design and Architecture

 
GeneralRe: Simple plain text "encryption" that is very easy to decrypt without specialty software? Pin
Eddy Vluggen2-May-20 23:16
professionalEddy Vluggen2-May-20 23:16 
AnswerRe: Simple plain text "encryption" that is very easy to decrypt without specialty software? Pin
Graham Breach2-May-20 22:16
Graham Breach2-May-20 22:16 
QuestionHigh Scale Real time communication (Server to Client) Pin
Nand3225-Apr-20 3:49
Nand3225-Apr-20 3:49 
QuestionRe: High Scale Real time communication Pin
Greg Utas25-Apr-20 23:44
professionalGreg Utas25-Apr-20 23:44 
AnswerRe: High Scale Real time communication Pin
Nand3226-Apr-20 1:36
Nand3226-Apr-20 1:36 
GeneralRe: High Scale Real time communication Pin
Greg Utas26-Apr-20 1:55
professionalGreg Utas26-Apr-20 1:55 
GeneralRe: High Scale Real time communication Pin
k505426-Apr-20 3:48
mvek505426-Apr-20 3:48 
GeneralRe: High Scale Real time communication Pin
Greg Utas26-Apr-20 4:51
professionalGreg Utas26-Apr-20 4:51 
Various protocols support multicasting. If you start investigating RTP, you will find related protocols for multicasting (streaming) video. They usually allow dropped frames, so it's a question of whether it's OK for clients to not have all of the server's information.

Off the top of my head, I would implement this with three threads:
  1. The first thread writes the data that will be streamed to clients into a large circular buffer.
  2. The second thread services the clients by reading from the buffer to TCP-send each client its next batch of data.
  3. If clients acknowledge reception so as not to lose data, the third thread uses TCP-poll and TCP-recv to handle acknowledgments on the client sockets.
The buffer's start pointer advances over data after it has been streamed to, or acknowledged by, all clients.

Edit: You might want to look at the Robust Services Core (see link in .sig), an open-source framework that I developed. It could probably be used to develop a server that supports this kind of application. What's in its nb and nw directories would probably be adequate.


modified 26-Apr-20 11:06am.

GeneralRe: High Scale Real time communication Pin
Nand327-May-20 21:10
Nand327-May-20 21:10 
QuestionRe: High Scale Real time communication Pin
Eddy Vluggen26-Apr-20 8:27
professionalEddy Vluggen26-Apr-20 8:27 
AnswerRe: High Scale Real time communication Pin
Nand3226-Apr-20 21:32
Nand3226-Apr-20 21:32 
AnswerRe: High Scale Real time communication (Server to Client) Pin
Gerry Schmitz26-Apr-20 7:00
mveGerry Schmitz26-Apr-20 7:00 
GeneralRe: High Scale Real time communication (Server to Client) Pin
Nand3226-Apr-20 21:32
Nand3226-Apr-20 21:32 
GeneralRe: High Scale Real time communication (Server to Client) Pin
Eddy Vluggen27-Apr-20 1:23
professionalEddy Vluggen27-Apr-20 1:23 
GeneralRe: High Scale Real time communication (Server to Client) Pin
Nand327-May-20 21:08
Nand327-May-20 21:08 
GeneralRe: High Scale Real time communication (Server to Client) Pin
Nand327-May-20 21:08
Nand327-May-20 21:08 
QuestionWhen is a "good time" to split a monolith to a micro-service? Pin
Milos Mijuskovic14-Apr-20 4:05
Milos Mijuskovic14-Apr-20 4:05 
AnswerRe: When is a "good time" to split a monolith to a micro-service? Pin
Bohdan Stupak15-Apr-20 6:10
professionalBohdan Stupak15-Apr-20 6:10 
QuestionWhat's an in memory representation of hardware configuration called Pin
Dar Brett12-Apr-20 0:32
Dar Brett12-Apr-20 0:32 
AnswerRe: What's an in memory representation of hardware configuration called Pin
Greg Utas12-Apr-20 0:49
professionalGreg Utas12-Apr-20 0:49 
AnswerRe: What's an in memory representation of hardware configuration called Pin
Gerry Schmitz13-Apr-20 7:00
mveGerry Schmitz13-Apr-20 7:00 
QuestionWhich architecture to use for our new project Pin
Member 1478675029-Mar-20 20:41
Member 1478675029-Mar-20 20:41 
AnswerRe: Which architecture to use for our new project Pin
Gerry Schmitz30-Mar-20 8:28
mveGerry Schmitz30-Mar-20 8:28 
AnswerRe: Which architecture to use for our new project Pin
ZurdoDev30-Mar-20 9:04
professionalZurdoDev30-Mar-20 9:04 
QuestionRe: Which architecture to use for our new project Pin
Eddy Vluggen30-Mar-20 14:57
professionalEddy Vluggen30-Mar-20 14:57 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.