On 2010-10-01 22:51, for-gmane wrote:
On 2010-10-01 17:03, for-gmane wrote:
A NewbieQ:
From a client app I want to connect to a server app on a remote host (say port 6666). A requirement is that the client shall be bound to a defined port (say port 5555). How to do this in asio? Does the client need to use an acceptor? (ok, this maybe sounds non-sensical, but who knows... :-)
Solved as follows: ... tcp::socket s(io_service); s.open(tcp::v4()); s.set_option(tcp::socket::reuse_address(true)); s.bind(tcp::endpoint(tcp::v4(), uLocalPortToUse)); s.connect(*iterator); ...
Just a followup question: I tried to replace the above s.bind(...) with this one: s.bind(tcp::endpoint(boost::asio::ip::address::from_string("127.0.0.1"), uLocalPortToUse)); but then, the s.connect(...) call to internet hosts fails. Is this behaviour correct? (Ie. connecting from 127.0.0.1 seems not possible to non-local adresses; OTOH this make sense, isn't it?)