Сокет, как принять несколько соединений в C - PullRequest
0 голосов
/ 27 октября 2019

Здравствуйте, у меня очень простой вопрос,

У меня есть простая программа сокет-сервер / клиент на C

Я бы хотел, чтобы программа на стороне сервера продолжала принимать новые подключения навсегда

Я хочу, чтобы он мог принимать больше соединений, пока он также выполняет другие операции

Поэтому мой вопрос: каков наилучший способ сделать это?

- должен ли я форки принять ли цикл в моем дочернем процессе?

- я должен разорвать и принять цикл в родительском процессе и продолжить выполнение своей операции в дочернем процессе?

Или есть другой путь? лучше, чем использовать fork?

Спасибо, пока, пока

1 Ответ

1 голос
/ 27 октября 2019

Лучшим способом, вероятно, является использование fd_set и select без необходимости форка каждый раз, когда вы принимаете новое входящее соединение. Вот хорошее объяснение этому: https://www.binarytides.com/multiple-socket-connections-fdset-select-linux/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...