Комментарии 13
Я хочу начать вольный перевод книги
Где-то я это уже видел :)
Спасибо за перевод! Надеюсь у вас хватит сил дойти до конца в этом трудном деле!
+2
Хороший перевод. Правда как то сумбурно описана ситуация 3. Даже зная что там происходит, только со второго раза понял написанное.
Мое скромное имхо по поводу Boost: все хорошо кроме случаев когда нужны операции с таймаутами. Через ихние дедлайн таймеры это просто пипец. Вот нет бы просто в async_read/write/что_там_еще передать timeout и при его истечении в обработчике получить соответствующую ошибку (как например при потери соединения).
Мое скромное имхо по поводу Boost: все хорошо кроме случаев когда нужны операции с таймаутами. Через ихние дедлайн таймеры это просто пипец. Вот нет бы просто в async_read/write/что_там_еще передать timeout и при его истечении в обработчике получить соответствующую ошибку (как например при потери соединения).
+4
Спасибо большое за работу! Надеюсь увидеть остальные главы!
+3
C COM портами и Asio у меня были проблемы. Он непредсказуемо разбивал входящие данные, пришедшие непрерывно, на куски. Это мешало работать с Modbus, у которого начало пакета детектится по времени между пакетами. После перехода на другую библиотеку, фактически Win API, заработало нормально.
0
Это не asio их разбивал, это их компорт так отдавал. Это нормальное поведение для COM порта на сколько я знаю. Я так же с ним работал. В начале я побайтно читал находя начало сообщения (синхронизовывал) а потом X байт за раз. Мне повезло у меня длина сообщения однозначно определялась в начале пакета данных.
+1
Автор, вот энто:
Try
{
…
}
catch ( boost::system::system_error e)
{
// handle the error
}
Заменить следующим:
try
{
…
}
catch ( boost::system::system_error &e)
{
// handle the error
}
Try
{
…
}
catch ( boost::system::system_error e)
{
// handle the error
}
Заменить следующим:
try
{
…
}
catch ( boost::system::system_error &e)
{
// handle the error
}
+1
Здравствуйте, господа — знатоки boost::asio!
Подскажите, умеет ли boost::asio слушать через определенный сетевой интерфейс? И умеет ли boost::asio коннектиться к удаленному интерфейсу через заданный локальный сетевой интерфейс? Если конечно этих интерфейсов несколько.
Если да, то краткий пример кода-намёк, если не трудно.
Спасибо!
Подскажите, умеет ли boost::asio слушать через определенный сетевой интерфейс? И умеет ли boost::asio коннектиться к удаленному интерфейсу через заданный локальный сетевой интерфейс? Если конечно этих интерфейсов несколько.
Если да, то краткий пример кода-намёк, если не трудно.
Спасибо!
0
Благодарю за перевод. Не могу однако не выразить обеспокоенность легальностью таких переводов.
0
socket
: классы сокетов не являются потоко-безопасными.
Таким образом вам следует избегать таких ситуаций как читать из сокета в
одном потоке, а писать в него в другом (это рекомендуется вообще, не
говоря уже о Boost.Asio).
Точно рекомендуется?)
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
«Boost.Asio C++ Network Programming». Глава 1: Приступая к работе с Boost.Asio