Man ... pensée en utilisant ASIO dans Boost allait être facile et intuitive. : PBoost ASIO async_accept compilation échoue
Je commence à l'avoir finalement mais j'ai quelques problèmes. Voici un extrait. J'ai plusieurs erreurs de compilation sur la ligne async_accept. Qu'est-ce que je fais mal? : P
J'ai basé mon code hors de cette page: http://www.boost.org/doc/libs/1_43_0/doc/html/boost_asio/tutorial/tutdaytime3/src.html
Erreurs:
erreur 1 erreur C2780: « vide boost :: asio :: :: basic_socket_acceptor async_accept (boost :: asio :: basic_socket &, boost :: asio :: :: ip basic_endpoint &, AcceptHandler) »: 3 prévoit arguments - 2 fourni e: \ schoolcode \ principal projet \ cplusplusport \ cplusplusport \ alexsocket.cpp 36
Erreur 2 Erreur C2784: 'vide boost :: asio :: :: basic_socket_acceptor async_accept (boost :: asio :: basic_socket &, AcceptHandler)': ne pouvait pas déduire argument modèle pour 'boost :: asio :: basic_socket &' de 'boost :: asio :: :: ip tcp :: socket *' e: \ schoolcode \ principal projet \ cplusplusport \ cplusplusport \ alexsocket.cpp 36
bool TestSocket::StartListening(int port)
{
bool didStart = false;
if (!this->listening)
{
//try to listen
acceptor = new tcp::acceptor(this->myService, tcp::endpoint(tcp::v4(), port));
didStart = true; //probably change?
tcp::socket* tempNewSocket = new tcp::socket(this->myService);
acceptor->async_accept(tempNewSocket, boost::bind(&TestSocket::NewConnection, this, tempNewSocket, boost::asio::placeholders::error));
}
else //already started!
return false;
this->listening = didStart;
return didStart;
}
void TestSocket::NewConnection(tcp::socket* s, const boost::system::error_code& error)
{
}
Donnez-nous plus d'informations. Vous vous liez à 'AlexSocket :: NewConnection' avec' this' comme premier argument - mais pour autant que je puisse voir, 'this' n'est pas un' AlexSocket' - n'est-ce pas? Et la méthode NewConnection est-elle virtuelle? – Thanatos
pouah. J'essayais de me débarrasser de mon pseudo préfixe "MyName" que j'ajoute à toutes mes classes lorsque j'écris du code d'apprentissage. : P – bobber205
La méthode est * non * virtuelle. – bobber205