Optimizing UDP Multiclient Server for Efficient Content Streaming in C

  • Thread starter Thread starter guest1234
  • Start date Start date
  • Tags Tags
    Server
Click For Summary
SUMMARY

The discussion focuses on optimizing a UDP multiclient server for efficient content streaming in C. The goal is to minimize packet loss while serving multiple clients, specifically aiming to keep it below 1%. The participant has implemented a basic echo server that responds to client requests but seeks to reduce overhead by establishing a custom handshake mechanism. The conversation also explores the necessity of a signaling bus for managing client sessions and questions the request-based data sending model of media streaming servers.

PREREQUISITES
  • Understanding of UDP protocol and its characteristics
  • Familiarity with C programming language
  • Knowledge of client-server architecture
  • Basic concepts of network packet loss and performance metrics
NEXT STEPS
  • Research "UDP multiclient server design patterns"
  • Explore "C socket programming for UDP"
  • Learn about "custom handshake protocols in UDP"
  • Investigate "strategies for minimizing packet loss in streaming applications"
USEFUL FOR

Network engineers, software developers working on streaming applications, and anyone interested in optimizing UDP-based communication for multiple clients.

guest1234
Messages
38
Reaction score
1
Hi all

I'm trying to create a server that uses UDP and is capable of handling multiple clients. The server should 'stream' content to the clients only on the initial request (i.e. when starting the client). The general idea is to test how many clients is the server able to 'serve' before the packet loss exceeds 1%.

I've implemented simple echo-server: it sends data to the clients only if the latter requests to do so. However it's not what I want -- too much overhead is wasted on requesting new packages. Custom handshake with the server is achievable (although one must consider special cases where so-called ACK messages (still on UDP!) arrive too late) but disconnecting the server gets nastier.

Should there be some kind of bus between the server and clients, which signals the server to start streaming content to new clients and stops when client deattaches the 'session'?

Also, does a media streaming server send data to the client only if the latter requests?

Any pointers/tip appreciated.
 
Last edited:
Technology news on Phys.org
Is using C and/or UDP a must?
 

Similar threads

Replies
7
Views
3K
Replies
9
Views
5K
  • · Replies 16 ·
Replies
16
Views
3K
  • · Replies 3 ·
Replies
3
Views
13K
Replies
7
Views
3K
  • · Replies 2 ·
Replies
2
Views
4K
  • · Replies 3 ·
Replies
3
Views
4K
  • · Replies 11 ·
Replies
11
Views
24K
  • · Replies 3 ·
Replies
3
Views
6K