Problem with Sockets in Boost ASIO
Jul 19, 2010 at 3:42pm UTC
I keep on having problems with connecting to sockets. I had the same problem when I was using winsock and then decided I wanted to move to a portable networking library and start fresh. This is the code I have:
Arguments Class
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
class Arguments {
std::string host;
std::string port;
public :
Arguments(char *ptrHost, char *ptrPort) : host(ptrHost), port(ptrPort) {};
Arguments(char *ptrPort) : port(ptrPort) {};
std::string getHost() const {
return host;
}
std::string getPort() const {
return port;
}
};
Client
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
try {
Arguments *client = new Arguments(argv[2], argv[3]);
using boost::asio::ip::tcp;
boost::asio::io_service io_service;
tcp::resolver resolve(io_service);
tcp::resolver::query query(tcp::v4(), client->getHost(), client->getPort());
tcp::resolver::iterator iterator = resolve.resolve(query);
tcp::socket Socket(io_service);
boost::system::error_code connect_error;
Socket.connect(*iterator, connect_error);
if (connect_error) {
std::cout << "Could not connect to socket, exiting..." ;
std::cin.get();
return 1;
}
else
std::cout << "Connect Successful!\n" ;
// ...
}
catch (std::exception &e) {
std::cout << e.what();
std::cin.get();
return 1;
}
Server
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
try {
Arguments *server = new Arguments(argv[1]);
boost::asio::io_service io_service;
using boost::asio::ip::tcp;
tcp::acceptor acceptor(io_service, tcp::endpoint(tcp::v4(), atoi(argv[1])));
tcp::socket socket(io_service);
acceptor.accept(socket);
std::cout << "hello\n" ; // debug
}
catch (std::exception &e) {
std::cout << e.what();
std::cin.get();
return 1;
}
I keep receiving the client error: "Could not connect to socket, exiting..."
Can anyone suggest why?
Topic archived. No new replies allowed.