Описание тега berkeley-sockets

API сокетов Berkeley содержит библиотеку для разработки приложений на языке программирования C, которые выполняют межпроцессное взаимодействие, чаще всего для обмена данными через компьютерную сеть.
1 ответ

Сокеты Беркли: connect() возвращает -1 с errno, установленным в ENOENT

У меня есть этот код: bool CBSocketConnect(uint64_t socketID,uint8_t * IP,bool IPv6,uint16_t port){ // Create sockaddr_in6 information for a IPv6 address int res; if (IPv6) { struct sockaddr_in6 address; memset(&address, 0, sizeof(address)); // …
11 авг '12 в 18:46
2 ответа

Что происходит, когда мне не удается вызвать `recv` достаточно быстро?

Я хочу объяснить возможный сценарий, когда клиенты моей службы сокетов потоков TCP/IP отправляют данные в мой сервис быстрее, чем ему удается переместить данные в свои буферы (я говорю о буферах приложений, естественно) с recv и работать с этим. В о…
15 янв '11 в 16:53
1 ответ

C++ connect() в клиентской программе на основе UNIX-сокета не устанавливает соединение с сервером

Я написал простой сервер сокетов на C++ в CentOS 7.0, используя известный интерфейс сокетов Беркли. Я запускаю его на любом порту, и он ждет подключения. Затем я запускаю свою простую клиентскую программу, также написанную на C++, и отправляю запрос…
24 фев '16 в 10:38
4 ответа

Указатель разыменования нарушает строгие правила сглаживания с использованием сокетов Беркли

У меня есть код, который выглядит примерно так, где addr это sockaddr*: struct sockaddr_in *sin = (struct sockaddr_in *) addr; const char *IP=inet_ntoa(sin -> sin_addr); Я считаю, что это очень типичный код для использования сокетов Беркли. Однак…
12 авг '10 в 05:09
3 ответа

Как найти локальный / эфремальный номер порта?

У меня есть клиентская программа UDP, которая использует сокеты Berkley и Winsock (в зависимости от платформы). В основном это использует getaddrinfo(), затем socket(), затем sendto(), sendto() принимает информацию об адресе, возвращенную getaddrinf…
08 ноя '18 в 21:07
2 ответа

Сокет Беркли: системный вызов recv

//server side void* s2(void *arg){ info *s = (info*)arg; char buffer[MAXS]; int k; sockaddr_in addr; socklen_t aSize = sizeof(sockaddr_in); int sfd = accept(s->fd,(sockaddr*)&addr,(socklen_t*)&aSize); if(sfd<0){ s->current--; pthrea…
1 ответ

Запрос на реализацию схемы в Беркли БД

Ниже я нашел параметры, которые использует наш код, на этапе реализации схемы. Мы просто используем значения по умолчанию, как показано ниже. enum { CACHE_SIZE_KBYTES = 10000, LOG_SIZE_KBYTES = 2000, CHKPT_COALESCE_KBYTES = 1, CHKPT_COALESCE_MINS = …
21 апр '14 в 10:01
2 ответа

Чтение из сокета, пока определенный символ не будет в буфере

Я пытаюсь прочитать из сокета в буфер, пока не будет достигнут определенный символ с помощью read(fd, buf, BUFFLEN), Например, сокет получит две партии информации, разделенные пустой строкой в ​​одном вызове чтения. Можно ли поместить вызов чтения в…
22 фев '12 в 16:05
1 ответ

epoll ET, на какие события я должен подписаться на прослушивающем сокете?

У меня есть фд: socket(AF_INET6, SOCK_STREAM, ...) bind(fd, ...) listen(fd, ...) И у меня есть epoll пример. Мне нужно знать, на какие события я должен подписаться через epoll_ctl? Мне нужен режим Edge Triggered. У меня есть эти флаги: EPOLLET | EPO…
29 дек '15 в 13:14
1 ответ

Какие значения протокола совместимы с какими комбинациями домена и типа в socket()?

Я играл с розетками Беркли, а затем я сделал это: #include <iostream> #include <sys/socket.h> #include <cstring> int main() { auto res = socket(AF_INET6, SOCK_STREAM, 58); if (res < 0) { std::cout << " Error in creating so…
1 ответ

Почему в iOS не происходит сбой сокета recv при изменении базовой сети?

В iOS, когда у меня есть сокет блокировки с таймаутом, установленным с помощью SO_RCVTIMEO. Когда я изменяю сеть Wi-Fi, к которой подключено устройство, вызовы recv будут соответственно задерживаться, но errno будет сообщаться как EWOULDBLOCK и recv…
02 сен '15 в 20:26
1 ответ

Проблемы с подключением IPv6 в C

Я пытаюсь закодировать независимый эхо-сервер, который может принимать как IPv4, так и IPv6-соединение. Я работаю со структурой addrinfo, установленной с помощью getaddrinfo.Ipv4 connect не имеет проблем, пока я не могу получить работающее ipV6 соед…
17 янв '16 в 11:49
2 ответа

Получить удаленный адрес /IP - C Berkeley Sockets

Если у меня подключен дескриптор файла сокета (либо с помощью connect, либо с помощью bind), введите SOCK_STREAM, возможно ли получить удаленный адрес / IP-адрес? Мне нужно сделать это в функции, где у меня нет никаких других данных, кроме дескрипто…
22 янв '11 в 19:42
5 ответов

Как избежать атаки DOS с использованием сокетов Беркли в C++

Я пробираюсь через Том 1 по сетевому программированию UNIX Ричарда Стивенса и пытаюсь написать TCP Echo Client, который использует протокол Telnet. Я все еще на ранних стадиях и пытаюсь написать функции чтения и записи. Я хотел бы написать его для и…
1 ответ

Разница между "используемым адресом" с bind() в Windows и в Linux - errno=98

У меня есть небольшой TCP-сервер, который прослушивает порт. Во время отладки мне свойственно CTRL-C сервер, чтобы убить процесс. В Windows я могу быстро перезапустить службу, и сокет может быть восстановлен. В Linux мне нужно подождать несколько ми…
12 фев '11 в 17:20
1 ответ

Беркли сокет связи, отправлять и получать структуры

У меня есть задание, где я собираюсь внедрить счет-сервер для игры. Когда игра будет завершена, игра отправит () имя игрока (char *name) и счет (int score) на сервер для регистрации, receive(), и сервер отправит обратно 5 лучших результатов. Мы соби…
05 ноя '12 в 00:13
1 ответ

ioctl с возвращаемым значением FIONREAD

Этот вопрос связан с тем, что возвращает FIONREAD сокета udp? Я пытался использовать следующий код на Mac: if( ioctl(socketId, FIONREAD, &totalPending) == -1 ) { printf("%d", totalPending); } numBytesRecv = recvfrom(socketId, buffer, maxLen, 0, …
24 сен '13 в 19:39
1 ответ

Привязка с интерфейсом Wi-Fi в Linux

Я работаю над системой на основе Linux, которая имеет интерфейсы LAN и WIFI. Но я должен связать свой сокет только с интерфейсом Wi-Fi. Есть ли какой-нибудь общий способ выяснить, какой интерфейс является Wi-Fi, чтобы я мог с ним спрятать свой сокет…
30 окт '12 в 14:06
2 ответа

Связывание сокетов с адресами IPv6

Я пытаюсь написать веб-сервер, который прослушивает адреса как IPv4, так и IPv6. Однако код, который я изначально написал, не работал. Затем я обнаружил, что структуры IPv6 работают как для IPv4, так и для IPv6. Поэтому теперь я использую структуры …
22 ноя '12 в 02:06
0 ответов

Беркли сокеты и тайм-аут чтения

Моя система - C++ на ARM под управлением Ubuntu. У меня возникают некоторые проблемы с сокетами Berkley, когда я пытаюсь выполнить блокировку чтения, я получаю сообщение об ошибке, и код EAGAIN. Я вставил таймер в код и обнаружил, что ошибка происхо…
20 апр '15 в 12:51