1
在第一次運行 - 綁定成功,當我重新啓動程序 - 錯誤10048(地址已經使用)升壓ASIO緊密綁定套接字
沒有調用close和關機 - 重新啓動,一切都很好
boost::asio::io_service _ioService;
boost::asio::ip::tcp::socket _socket(_ioService);
boost::system::error_code err;
_socket.open(boost::asio::ip::tcp::v4(), err);
if (err.value())
{
cout<<err.value()<<endl;
cout << err.message() << endl;
}
_socket.bind(boost::asio::ip::tcp::endpoint(boost::asio::ip::address_v4::from_string("127.0.0.1"), 1276), err);
cout << err.value() << endl;
if (err.value())
{
cout << err.value() << endl;
cout << err.message() << endl;
}
_socket.connect(boost::asio::ip::tcp::endpoint(boost::asio::ip::address_v4::from_string("127.0.0.1"), 1500), err);
if (err.value())
{
cout << err.value() << endl;
cout << err.message() << endl;
}
_socket.shutdown(_socket.shutdown_both);
_socket.close(err);
if (err.value())
{
cout << err.value() << endl;
cout << err.message() << endl;
}
我試着運行這段代碼,但是我爲每個調用添加了錯誤報告。我的第一個錯誤發生在connect()調用。 「拒絕連接」。這又會導致shutdown()調用發生錯誤。 「傳輸端點未連接。」關閉()的調用不會產生任何錯誤。所以,也許你的問題發生在連接呼叫。不過,我期望這會導致你的關機調用版本產生一個異常,所以也許不會。 –