Я новичок в программировании сокетов и нуждаюсь в некоторой помощи в создании новой одноранговой сети. Теперь у меня есть сервер A, подключенный к клиентам B и C соответственно одновременно. Я использую API select(), чтобы установить это, и пока это работает (A может взаимодействовать с B и C независимо.) Теперь я хочу, чтобы B и C связывались друг с другом напрямую; скажем, B-запросы на подключение к C без участия A. B и C оба будут все еще подключены к A, но у них будет одноранговое соединение между собой, чтобы иметь возможность разговаривать друг с другом. Любая идея, как это работает? Я попытался сделать мою клиентскую программу как сервер с вызовами listen() и accept(); но он просто замораживает моего клиента.Одноранговая сеть с использованием сокетов C
У меня есть пользовательский интерфейс для выполнения команд на клиенте/сервере, если вам интересно, как я это реализую.
Любая помощь будет глубоко оценена.
Вы также можете 'select()' в своих сокетах прослушивания и не вызывать 'accept()' до тех пор, пока у вас не будет готово соединение для его предотвращения, чтобы избежать его блокировки. –
Фрагменты вашего кода, вероятно, будут полезны. –
Google «равноправные протоколы». –