>Вопрос такой. Как отправлять данные клиентам при
>использовании не блок сокетов в случае чата и файловой передачи.
>Т.е. в потоках, в одном потоке чередуя сокеты в send или еще как?
>Так же тут встает вопрос о разной скорости. Заранее спасибо!
Штатный способ TCP/IP - multicast, либо на TCP, либо на UDP.
Тогда нету блока сокетов, а есть схема provider - consumer.
С такой схемой могут быть проблемы в большой маршрутизируемой
сети (не через любой маршрутизатор multicast-трафик проползёт),
поэтому можно организовать схему с пулом данных на отправку для
каждого соединения, пулом потоков исполнения (другого размера,
нежели число соединений) и алгоритмом назначения на свободные
потоки заданий по отправке данных.
Более изящная схема получится при использовании неблокируемых
сокетных операций. Тогда можно вообще одним потоком обойтись
при не слишком высокой интенсивности обмена.