Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C/C++ Сетевое программирование
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2019, 20:22   #61
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,694
По умолчанию

И как он из одного указателя узнает размер? Вы хотя бы смотрите какие конструкторы есть.
p51x вне форума Ответить с цитированием
Старый 23.09.2019, 20:58   #62
Android1
Форумчанин
 
Регистрация: 26.08.2010
Сообщений: 121
По умолчанию

Прошу прощенья.
Спасибо!
Добавил размер, заработало:
Код:
char *buff;
buff = new char[1];
buff[0]='f';

boost::asio::write(socket, boost::asio::buffer(buff, 1));
Android1 вне форума Ответить с цитированием
Старый 25.09.2019, 14:34   #63
Android1
Форумчанин
 
Регистрация: 26.08.2010
Сообщений: 121
По умолчанию

А чем принципиально отличается использование следуюших строчек кода:

Код:
async_read(socket, buffer(data), ec);
...
io_service.run();
То есть асиннхронный read.
От:
Код:
void boost_read(&socket)
{
read(socket, buffer, ec);
}

main()
{
future<void> read = async(launch::async, boost_read, move(socket));
...
read.get()
}
То есть синхронный read отправляем в асинхронный std async.

Есть ли между этими случаяси принципиальная разница ?
Android1 вне форума Ответить с цитированием
Старый 25.09.2019, 15:02   #64
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,694
По умолчанию

1. Где будет "работать" асинхронная операция
2. Будет ли вызван коллбек или вам самим надо проверять и дожидаться
3. Внутреннее состояние io_service
p51x вне форума Ответить с цитированием
Старый 25.09.2019, 15:18   #65
Android1
Форумчанин
 
Регистрация: 26.08.2010
Сообщений: 121
По умолчанию

1. Если я правильно понял, работать будет в функции.
2. Грубо, дожидатся в read.get()
3. Не понял к сожалению.
Android1 вне форума Ответить с цитированием
Старый 25.09.2019, 15:28   #66
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,694
По умолчанию

Это были не вопросы...
p51x вне форума Ответить с цитированием
Старый 25.09.2019, 16:11   #67
Android1
Форумчанин
 
Регистрация: 26.08.2010
Сообщений: 121
По умолчанию

А что значит, где будет работать ? А где может работать ?
Android1 вне форума Ответить с цитированием
Старый 25.09.2019, 16:12   #68
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,694
По умолчанию

https://en.cppreference.com/w/cpp/thread/async
Цитата:
The template function async runs the function f asynchronously (potentially in a separate thread which may be part of a thread pool)
p51x вне форума Ответить с цитированием
Старый 25.09.2019, 17:18   #69
Android1
Форумчанин
 
Регистрация: 26.08.2010
Сообщений: 121
По умолчанию

А для boost async_ read отдельный поток не выделяется ?
Android1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Boost] ASIO Buffer S.Ruslan C/C++ Сетевое программирование 7 25.03.2019 13:34
boost/asio MayhemWithMercy C/C++ Сетевое программирование 1 11.06.2014 17:44
boost ASIO сериализация Kukurudza Общие вопросы C/C++ 2 06.12.2011 13:38
Boost::Asio on Mingw russian-stalker Общие вопросы C/C++ 0 05.01.2011 16:27
Boost (asio + thread) - noncopyable MInner Общие вопросы C/C++ 1 06.12.2009 16:41