История изменений
Исправление roy, (текущая версия) :
Если задачка учебная, то самый простой способ имхо:
1) В основном потоке принимаем подключения, accept()
2) На каждое подключение создаём поток, который принимает/отправляет сообщение этому клиенту. Да, большое количество клиентов такая архитектура не потянет, но пара сотен - не проблема.
3) При получении сообщения от клиента, отправляем его остальным клиентам - хоть в цикле проходишь по подключённым клиентам и пишешь им.
Исходная версия roy, :
Если задачка учебная, то самый простой способ имхо: 1) В основном потоке принимаем подключения, accept() 2) На каждое подключение создаём поток, который принимает/отправляет сообщение этому клиенту. Да, большое количество клиентов такая архитектура не потянет, но пара сотен - не проблема. 3) При получении сообщения от клиента, отправляем его остальным клиентам - хоть в цикле проходишь по подключённым клиентам и пишешь им.