sockets

Я хочу запустить сервер, который слушает порт. Я могу указать порт явно и это работает. Но я хотел бы найти порт в автоматическом режиме. На этот счет у меня есть два вопроса. в каком диапазоне номеров портов я должен искать? (Я использовал порты 12345, 12346 и 12347, и это было прекрасно). Как я могу узнат...

в чем разница между read() и recv() , а также между send() и write() в программировании сокетов ? производительность, скорость и другое поведение....

Я искал по этой теме, но нашла очень мало деталей, которые были полезны. С этими деталями я попытался приготовить некоторый код следующим образом. Примечание: пожалуйста, сравните детали, разделяемые в этом посте с другими сообщениями, прежде чем отмечать это как дубликат, а не только по теме. - (NSArray *)...

у меня есть несколько вопросов о библиотеке сокетов в C. Вот фрагмент кода, на который я буду ссылаться в своих вопросах. char recv_buffer[3000]; recv(socket, recv_buffer, 3000, 0); как мне решить, какой recv_buffer? Я использую 3000, но это условно. что произойдет, если recv() получает пакет больше, ч...

можем ли мы вызвать send из одного потока и recv из другого на том же сокете? можем ли мы вызвать несколько отправок параллельно из разных потоков на одном сокете? Я знаю, что хороший дизайн должен избегать этого, но мне не ясно, как будут вести себя эти системные API. Я не могу найти хорошую документацию д...

API сокета является де-факто стандартом для TCP/IP и UDP / IP связи (то есть, сетевой код, как мы его знаем). Однако, одна из его основных функций,accept() Это немного волшебно. заимствовать полуформальное определение: accept () используется на стороне сервера. Он принимает полученную входящую попытку ...

у меня есть браузерная игра, и я недавно начал добавлять звук в игре. Chrome не загружает всю страницу и застревает на "91 requests | 8.1 MB transferred" и больше не загружает контент и даже тормозит сайт во всех других вкладках, говоря Waiting for available socket. через 5 минут (точно) данные загружаютс...

Как я могу попытаться прочитать данные из сокета с таймаутом? Я знаю, select, pselect, poll, имеет поле timeout, но использование их отключает "tcp fast-path" в стеке tcp reno. единственная идея у меня заключается в использовании приема(ФД ..., MSG_DONTWAIT) в цикле...

в каждом примере и обсуждении, с которыми я сталкиваюсь в контексте программирования сокетов BSD, кажется, что рекомендуемый способ установить файловый дескриптор в неблокирующий режим ввода-вывода использует O_NONBLOCK флаг fcntl(), например, int flags = fcntl(fd, F_GETFL, 0); fcntl(fd, F_SETFL, flags | O_N...

и connect() и bind() системные вызовы 'связывают' дескриптор файла сокета с адресом (обычно комбинацией ip/порта). Их прототипы похожи: - int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen); и int bind(int sockfd, const struct sockaddr *addr, socklen_t addrl...