Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
32 / 30 / 4
Регистрация: 01.02.2014
Сообщений: 878

Как правильно работать в wisocket?

14.10.2017, 10:41. Показов 2521. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Конкретно пару вопросов,
в мунале есть слова о том что для каждого успешного вызова WSAStartup нужно вызвать WSACleanup, я обычно вызываю WSAStartup в конструкторе программы, а WSACleanup в деструкторе, но раз есть возможность вызывать их несколько раз значит наверно есть в этом смысл?
Например я использую сокеты в потоках, может мне в каждом потоке надо их вызывать а не для всего приложения сразу? вдруг например он там в стек ошибки записывает и таким образом память растет..

Добавлено через 3 минуты
и еще вопрос

есть код
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
struct sockaddr_in addr;
addr.sin_addr.s_addr = inet_addr( host.toLocal8Bit().data() );
    if( INADDR_NONE == addr.sin_addr.s_addr )
    {
        struct hostent *h = gethostbyname( host.toLatin1().data() );
        if( !h )
        {
            err = WSAGetLastError( );
            Error = "Не найден домен";
            return 0;
        }
        addr.sin_addr = *(struct in_addr *) h->h_addr_list[0];
    }
    addr.sin_family = AF_INET;
    addr.sin_port       = htons( _port );
 
    // Соединение с сервером
    if( ::connect( this->socket, ( const struct sockaddr* )&addr, sizeof(addr) ) == SOCKET_ERROR )
    {
        err = WSAGetLastError( );
        Error = "Ошибка при подключении к сайту";
        return 0;
    }
в данном случае мне же надо вызывать freeaddrinfo для очистки sockaddr_in или нет? а как быть с структурой hostent ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.10.2017, 10:41
Ответы с готовыми решениями:

Как правильно работать с БД
Visual Studio 2015 VB.NET 4.5.2 + SQL Подскажите плиз след. вопрос: Есть у меня допустим прога(оболочка) для БД. Хочу иметь возможность...

Как правильно работать с Recordset
Здравствуйте. Сейчас данные получаю так: SQLText = "select t.znach from chasspt t where t.kodobject=50 and t.kodparam =24 and...

Как правильно работать с JSON?
Здравствуйте! Подскажите, как правильно обрабатывать JSON в PHP, чтобы избежать монструозных конструкций такого вида: $userName=...

20
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
26.11.2019, 17:50
Студворк — интернет-сервис помощи студентам
Просто тема подходящая, я решил, что тут можно задавать вопросы, что бы темы не плодить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.11.2019, 17:50

Как правильно работать с сетками?
Подскажите как распланировать сетку как на мекете до этого накидывал просто готовые варианты. Потом понял что сайт должен быть адаптивный...

Как правильно работать с кириллицей
Если вы пишете программу на QBASIC под Windows XP и вам нужно оперировать с файлами, содержащими русские буквы, соблюдайте ...

Как правильно работать с циклом
при работы с циклом программа зависает. К примеру, цикл из 600 шагов. За это время программа просто напрросто зависает. Могу код кинуть, но...

Как правильно работать с Fragment
Всем привет! Недавно начал изучать программирование под Андройд. На данный момент встал вопрос, который решить не получается. И Так. В...

Как правильно работать с json?
$.ajax({ url: '../feedback.php', /*data: $('#feedbackForm').serialize(),*/ dataType: 'json', type:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru