Первый вопрос будет глупым, но я никак не могу сам понять.
Имеет ли смысл передавать в функцию не сокет а указатель на него, если в функции только чтение из сокета?
Второй вопрос.
Есть такая структура
typedef struct{
int socket; // сокет
char* cadr; //буфер для видео кадра
} video;
есть thread запускаемый pthread_create(thread, attr, get_video, &Cam1)
где Cam1 - это экземпляр video.
void *get_video( void *arg)
{
struct video *Camera = (struct video*) arg;
printf(" socket descriptor: %d\n", Camera->socket);
перед созданием потока дескриптор равен 4, в потоке он почему-то ноль.
Но бывает еще веселее - дескриптор в потоке равен 4, но после первого recv становится равен нулю...
Я бы грешил на путаницу с указателями, но тогда было бы вероятнее попадание случайного значения (так как сейчас сокет передается везде указателем), а мне постоянно выпадает ноль.
Где я мог пропустить подводный камень?
Ответ на:
комментарий
от unsigned
Ответ на:
комментарий
от xydo
Ответ на:
комментарий
от desruptor
Ответ на:
комментарий
от desruptor
Ответ на:
комментарий
от xydo
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [pthread][c][socket] recvfrom возвращает «bad file descriptor». (2011)
- Форум Консольный обмен сообщениями (2017)
- Форум Qt + posix threads, непредсказуемое поведение программы (2012)
- Форум Соединится с сервером по сокету? (2020)
- Форум Потоки (2017)
- Форум Не могу победить TIME_WAIT, как закрывать сокеты? (2010)
- Форум И вновь потоки[C] (2012)
- Форум многопоточное копирование фала через сокет (2015)
- Форум VPN + NAT (с нормальным форматированием) (2004)
- Форум Мы нашли очередную порцию глюков в Linux Kernel (2016)