I am writing a browser plugin which needs to get the size of a file using the HTTP HEAD request. In order to send the request I am using the boost socket and the boost::asio::ip::tcp::resolver::query to get the ip address and service port.
I am basically using code from the asio sync_client sample provided with Boost 1.48.0.
using boost::asio::ip::tcp;
boost::asio::io_service io_service;
tcp::resolver resolver(io_service);
tcp::resolver::query query(hostname,
"http");
tcp::resolver::iterator endpoint_iterator = resolver.resolve(query);
tcp::resolver::iterator end;
This works fine when I run this on a Windows platform (Windows 7) using 32-bit browsers such as Firefox, Chrome, and IE. This also works fine when I run this as a desktop application through a test driver on a Windows (Vista , Windows7)64-bit
platform. However, when I run this as a browser plugin on the Windows Vista 64-bit platform using IE (64-bit) it seems to crash on the line:
tcp::resolver resolver(io_service);
I’m not sure if this is a Boost issue or an IE issue, so I was wondering if anyone knows of any incompatibility issues and/or limitations with Boost and IE (64-bit) which could cause this to happen.
Thanks
Keiko