Click here to Skip to main content
15,505,126 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 Vluggen3-May-20 0:16
professionalEddy Vluggen3-May-20 0:16 
AnswerRe: Simple plain text "encryption" that is very easy to decrypt without specialty software? Pin
Graham Breach2-May-20 23:16
Graham Breach2-May-20 23:16 
QuestionHigh Scale Real time communication (Server to Client) Pin
Nand3225-Apr-20 4:49
Nand3225-Apr-20 4:49 
QuestionRe: High Scale Real time communication Pin
Greg Utas26-Apr-20 0:44
mveGreg Utas26-Apr-20 0:44 
AnswerRe: High Scale Real time communication Pin
Nand3226-Apr-20 2:36
Nand3226-Apr-20 2:36 
GeneralRe: High Scale Real time communication Pin
Greg Utas26-Apr-20 2:55
mveGreg Utas26-Apr-20 2:55 
GeneralRe: High Scale Real time communication Pin
k505426-Apr-20 4:48
mvek505426-Apr-20 4:48 
GeneralRe: High Scale Real time communication Pin
Greg Utas26-Apr-20 5:51
mveGreg Utas26-Apr-20 5: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 22:10
Nand327-May-20 22:10 
QuestionRe: High Scale Real time communication Pin
Eddy Vluggen26-Apr-20 9:27
professionalEddy Vluggen26-Apr-20 9:27 
AnswerRe: High Scale Real time communication Pin
Nand3226-Apr-20 22:32
Nand3226-Apr-20 22:32 
AnswerRe: High Scale Real time communication (Server to Client) Pin
Gerry Schmitz26-Apr-20 8:00
mveGerry Schmitz26-Apr-20 8:00 
GeneralRe: High Scale Real time communication (Server to Client) Pin
Nand3226-Apr-20 22:32
Nand3226-Apr-20 22:32 
GeneralRe: High Scale Real time communication (Server to Client) Pin
Eddy Vluggen27-Apr-20 2:23
professionalEddy Vluggen27-Apr-20 2:23 
GeneralRe: High Scale Real time communication (Server to Client) Pin
Nand327-May-20 22:08
Nand327-May-20 22:08 
GeneralRe: High Scale Real time communication (Server to Client) Pin
Nand327-May-20 22:08
Nand327-May-20 22:08 
QuestionWhen is a "good time" to split a monolith to a micro-service? Pin
Milos Mijuskovic14-Apr-20 5:05
Milos Mijuskovic14-Apr-20 5:05 
AnswerRe: When is a "good time" to split a monolith to a micro-service? Pin
Bohdan Stupak15-Apr-20 7:10
professionalBohdan Stupak15-Apr-20 7:10 
QuestionWhat's an in memory representation of hardware configuration called Pin
Dar Brett12-Apr-20 1:32
Dar Brett12-Apr-20 1:32 
AnswerRe: What's an in memory representation of hardware configuration called Pin
Greg Utas12-Apr-20 1:49
mveGreg Utas12-Apr-20 1:49 
AnswerRe: What's an in memory representation of hardware configuration called Pin
Gerry Schmitz13-Apr-20 8:00
mveGerry Schmitz13-Apr-20 8:00 
QuestionWhich architecture to use for our new project Pin
Member 1478675029-Mar-20 21:41
Member 1478675029-Mar-20 21:41 
AnswerRe: Which architecture to use for our new project Pin
Gerry Schmitz30-Mar-20 9:28
mveGerry Schmitz30-Mar-20 9:28 
AnswerRe: Which architecture to use for our new project Pin
ZurdoDev30-Mar-20 10:04
professionalZurdoDev30-Mar-20 10:04 
QuestionRe: Which architecture to use for our new project Pin
Eddy Vluggen30-Mar-20 15:57
professionalEddy Vluggen30-Mar-20 15: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.