Articles of выберите

Есть ли способ обнаружить, что TCP-сокет был закрыт удаленным одноранговым узлом, не читая его?

Во-первых, немного фона для объяснения мотивации: я работаю над очень простым TCP-зеркальным зеркальным фильтром select (), который позволяет двум брандмауэр-клиентам косвенно говорить друг с другом. Оба клиента подключаются к этому серверу, и как только оба клиента подключены, любые TCP-байты, отправленные на сервер клиентом A, перенаправляются клиенту B и наоборот. Это более или менее работает с […]

Использование select (..) на клиенте

Я пытаюсь реализовать select (..) на стороне клиента с созданием нескольких сокетов отдельно от TCP-сокета для recv (..) с сервера. Я хочу получать данные по различным recv (..) разных сокетов, созданных с помощью select (..). Кажется, что код функционирует должным образом. Пожалуйста помоги. Спасибо! #include #include #include #include #include #include #include #include #include int main(int […]

Что не так с этим примером ?popen / select?

UPDATE: я обновил код и описание проблемы, чтобы отразить мои изменения. Теперь я знаю, что я пытаюсь выполнить операцию Socket на несете. или что мой fd_set недействителен, поскольку: select возвращает -1 и WSAGetLastError() возвращает 10038. Но я не могу понять, что это такое. Платформа – это Windows. Я еще не опубликовал часть WSAStartup . int […]

Как выбрать () ждать на обычных дескрипторах файлов (не-сокеты)?

Это образец кода из «man select» плюс несколько строк, чтобы прочитать фактический файл, на который записывается. Я подозревал, что когда ./myfile.txt , select вернет, что теперь он может читать из этого fd. Но происходит то, что select постоянно возвращается в цикле while, пока существует файл txt. Я хочу, чтобы он возвращался только тогда, когда новые […]

Что такое nfds из select (), используемого для

Мне было интересно, что делает nfds , прочитав разные руководства, я получаю единственный ответ: это наивысший нумерованный файловый дескриптор плюс один . Для чего он точно используется?

Труба FIFO всегда читается в select ()

В псевдокоде C: while (1) { fifo = open(“fifo”, O_RDONLY | O_NONBLOCK); fd_set read; FD_SET(fifo, &read); select(nfds, &read, NULL, NULL, NULL); } Процесс засыпает как вызванный select() пока другой процесс не напишет в fifo . Впоследствии он всегда найдет fifo как читаемый дескриптор файла. Как избежать этого поведения (то есть, после того, как fifo был […]