Я пытаюсь привязать TCP-сокет Boost Asio к интерфейсу локальной сети. Когда правильное время для вызова метода bind()
в сокете?
_endpoint указывает на удаленный ip / порт, например, 192.168.0.15:8888.
// Invoke async. connect. Immediate return, no throw.
_socket.async_connect(_endpoint,
boost::bind(&MyTransceiver::handleConnect, this,
boost::asio::placeholders::error));
В MyTransceiver::handleConenct()
я попробовал следующий код:
boost::asio::ip::tcp::endpoint local_end_point(
boost::asio::ip::address::from_string("192.168.0.55"), 6543 );
_socket.bind(local_end_point);
Вызывать его здесь не удается, вызывая его также до вызова async_connect(
), с исключением «неверный дескриптор».