![]() |
|
Модераторы: xvr |
![]()
|
|
| LisAnd |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 13.5.2009 Репутация: нет Всего: нет |
У меня не получается принять адрес отправителя датограммы.
Если два последних параметра в функции ставля как NULL прием датограмм идет. А если вписываю как полагается указатель на структуру адреса и указатель на переменную для хранения размера адреса приема нет. Раньше на Slackware Linux всё получалось, не получалось на Linux Open Suse, хотя запускал один и тот же код. Теперь и на Slackware Linux не работает. функцию я вызываю так: unsigned int addr_size; struct sockaddr_in AddrClient; unsigned char PaketRecv[255]; int SokServerListen; ... recvfrom(SokServerListen,&PaketRecv,sizeof(PaketRecv),0,(struct sockaddr *)&AddrClient,&addr_size); Это сообщение отредактировал(а) LisAnd - 23.7.2009, 13:33 |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
Переменную addr_size надо проинициализировать размером буфера под адрес:
|
|||
|
||||
| LisAnd |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 13.5.2009 Репутация: нет Всего: нет |
Причену возникновения ошибки нашел. Похоже возникало наложение переменных. А вот почему оно возникало пока еще не известно. Сделал присвоение переменной длины адреса присвоение начального значения, пока работает
Добавлено через 14 минут и 24 секунды xvr, пордон, с утра глянул не увидел ответов а потом как с ошибкой справился сразу отписался. Получается скорее всего тогда это только из-за того что инициализацию не сделал. Просто прога работала и без инициализации, просто объявил перед переменной addr_size другую переменную, вот и подумал что наложение возникает. |
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |