Вопросы по теме 'recv'

С++ Socket выбирает и получает проблему
Ниже приведен фрагмент кода, у меня возникла проблема с программированием сокетов. Здесь после вызова select , если я не помещаю сон в строку 9, в Windows XP 1 байт принимается в строке 11 (вместо этого 4 байта отправляются с сервера как целое...
3890 просмотров
schedule 03.11.2022

Проблема с чтением шестнадцатеричного буфера из сокета C
Я использую API сокетов SDL_net для создания сервера и клиента. Я могу легко прочитать строковый буфер, но когда я пытаюсь отправить шестнадцатеричные данные, recv получает длину, но я не могу прочитать содержимое буфера. IPaddress ip; TCPsocket...
2505 просмотров
schedule 08.04.2022

Поведение send() и recv() при обмене данными через сокет
Установка следующая: Server Client | | accept connect | | v | send msg1-> | | | v v recv <- send | | v...
2544 просмотров
schedule 08.05.2022

Поведение recv на неблокирующем сокете TCP до завершения соединения
Друзья, У меня есть неблокирующий сокет TCP (в AIX). Когда я попытался подключиться(), я получил EINPROGRESS. Мой вопрос: если я вызову recv() до завершения соединения, каким будет (наиболее подходящий) код ошибки? Я видел, что в случае сбоя...
2330 просмотров
schedule 08.06.2022

Отправка нескольких сообщений через send() recv(), программирование сокетов, C
Я пытаюсь создать программу (клиент), которая может отправлять сообщения на сервер по запросу пользователя. Урезанный код выглядит следующим образом: Клиент: int main(int argc, char **argv) { struct sockaddr_in servaddr; int sock =...
41120 просмотров
schedule 01.05.2022

Как правильно читать данные при использовании epoll_wait
Я пытаюсь перенести в Linux существующий код Windows C++, использующий IOCP. Решив использовать epoll_wait для достижения высокого параллелизма, я уже столкнулся с теоретическим вопросом, когда мы пытаемся обрабатывать полученные данные....
9663 просмотров
schedule 06.10.2022

Как использовать один порт для нескольких логических потоков данных (Winsock)?
Я разрабатываю клиент-серверное приложение Winsock (Visual C ++), которое должно передавать по сети различные типы данных (видеопоток, аудиопоток, служебные уведомления и т. Д.). Я знаю, что более чистый подход заключался бы в использовании отдельных...
2335 просмотров

Фрейминг сообщений TCP + recv() [linux]: хорошие соглашения?
Я пытаюсь создать p2p-приложения в Linux, которые я хочу запускать максимально эффективно. У меня проблема с управлением пакетами. Как мы знаем, в буфере recv() может находиться более одного пакета в любой момент времени, поэтому необходимо иметь...
3161 просмотров
schedule 26.04.2024

Recv() по одной строке за раз
Недавно я изучаю, как программировать базовый веб-сервер в c. Мой сервер в зависимости от определенных входных данных будет отправлять различные строки текста, все из которых заканчиваются пустой строкой, и мне нужно как-то получать их со стороны...
3253 просмотров
schedule 13.10.2022

Получение части данных с помощью recv() возможно?
Я использую неблокирующие сокеты с winsock, и мне интересно, смогу ли я частично получать данные? Мой пакет содержит СЛОВО «длины», и я должен сначала прочитать его, а затем прочитать весь пакет в соответствии с «длиной». На самом деле этот...
1300 просмотров
schedule 03.06.2022

Сокет теряет соединение при отправке ()
ИЗМЕНИТЬ: прокрутите вниз, чтобы увидеть обновленный код. Я хотел бы создать поддельный плеер для Minecraft на языке C. Мой сервер Minecraft (bukkit) прослушивает порт 25565, мой локальный IP 192.168.1.141. Когда я запускаю свое приложение...
826 просмотров
schedule 27.12.2022

Сокет C: получить и отправить все данные
Я хотел бы получить поведение, подобное этому: Запуск сервера Запуск клиента Клиент набирает команду типа "help" или другую Сервер отвечает адекватно go to 3 Проблема в том, что когда моя функция excCommand("help") запускается,...
88616 просмотров
schedule 06.07.2022

C - Конечная точка транспорта не подключена после первого вызова recv()
Я только начинаю изучать сетевое программирование на C. Я сделал несколько тестов, но застрял с ошибкой. У меня есть клиент: client.c #include <string.h> #include <netdb.h> #include <stdio.h> #include <sys/types.h>...
11272 просмотров
schedule 14.02.2024

Для чего используется поле addrlen в recvfrom()?
Я использую recvfrom в своей программе для получения данных DGRAM с сервера, указанного в src_addr. Однако я не уверен, зачем мне нужно инициализировать и передавать addrlen. Я прочитал справочную страницу и не очень понял, к чему она идет....
4584 просмотров
schedule 29.02.2024

Функция Recv() зависает после отправки HTTP-запроса GET в Winsock на C++
Я пытаюсь создать программу, использующую HTTP в winsock, но столкнулся с проблемой, когда функция recv просто зависает. int connect() { WSADATA t_wsa; //WSADATA structure WORD wVers = 0x0202; //version number int iError; //error number wVers =...
1721 просмотров
schedule 27.04.2023

MQTT recv от публикации и mqtt ping C
у меня есть эта проблема, в тестовой программе, где я разрабатываю клиент для MQTT, я подписан на тему, после этого я жду сообщения "опубликовать" от сервера к моему клиенту. После хорошего приема (сообщения публикации) или после тайм-аута приема я...
938 просмотров
schedule 23.05.2023

Странная потеря пакетов UDP
Я пытаюсь читать UDP-датаграммы последовательно. Но возникла проблема во время второй операции чтения. Вы можете увидеть ниже фрагмент, где я пытаюсь прочитать в первый раз и потерял 12 байт пакета из приемного буфера UDP. Snippest Code: sock =...
582 просмотров
schedule 10.04.2023

Пустой буфер после успешного получения
Пишу сервер под Windows на С++ и сталкиваюсь со странным поведением при использовании recv() . Я написал эту функцию: bool readN(SOCKET s, int size, char* buffer){ fd_set readset; struct timeval tv; int left, res;...
2209 просмотров
schedule 10.07.2023

recv (): постоянный объект не может быть передан как параметр var (во втором аргументе этой функции)
Мне нужно создать Delphi-версию следующего кода C, и теперь я получил сообщение об ошибке, в котором говорится, что «не разрешено»: значение PByte + значение Integer , переданное во второй arg функции recv() . У вас есть представление о...
87 просмотров

Выход из цикла приема после фиксированного тайм-аута
Я использую recv для получения сообщения в сокете от сервера. size_t b_received = 0; char headers[2048]; while ((b_received = recv(socket_fd, &headers[pos], sizeof(headers) - pos -...
97 просмотров
schedule 18.01.2023