I'm developing a server which involves a lot of broadcasting of identical data to multiple clients over TCP.
Something like:
for(i = 0; i < n; i++)
{
send(client[i], buffer, ...);
}
Is there any facility to enable me to combine this into a single user/kernel transaction? An analog to vectored I/O is what I'm after (except ofcourse multiple socket handles; not buffers)
Notes:
- The protocol choice (TCP) is non-negotiable (not my decision)
- LSPs and the like are not an option.
- Potential solutions must be compatible with overlapped I/O
- The reason this is a problem is due to performance requirements (soft real-time; very sensitive to latency and jitter).