В общем, как я вижу модель tcp.
Шаг 1.
Сервер:
Мы создаем сокет через socket()
Потом биндим его к адресу, и порту.
Потом делаем listen()
Создаем сэт сокетов
Клиент:
Создаем сокет
Делаем connect() к адресу и порту
Шаг 2
Когда происходит connect, то наш клиент создает рандомный порт, пишет в порт сервера
Сервер делает select() на этот сокетсэт, и если записали в порт сервера, то значит это новый клиент
Сервер читает из своего порта, делает accept(), а потом добавляет его в сокетсэт и будет читать уже из созданного клиентом порта
Ну и потом опять шаг 2
Вопрос:
Я прав или не везде?
Зачем в этом цикле нужно каждый раз делать reset()?