2010-10-10 48 views
0

即阻塞版本将返回-1错误。Boost ASIO如何receive_from返回底层套接字错误?

更重要的是,您怎么知道通话失败?不

的boost ::支持ASIO ::知识产权:: UDP ::插座:: receive_from()返回-1错误

正常BSD套接字API调用receive_from将返回-1错误,你可以看看errno的具体错误代码。升压版本是否也一样?

好吧,我试图通过超负荷这样的:

while(true){ 
    boost::system::error_code ec; 
    size_t length = socket_.receive_from(
     boost::asio::buffer(buffer, buffer_size), 
     sender_endpoint, ec); 

    /// ... other code 
} 

但我得到的编译此错误:

error: no matching function for call to ‘boost::asio::basic_datagram_socket<boost::asio::ipdp, boost::asio::datagram_socket_service<boost::asio::ip::udp> >::receive_from(boost::asio::mutable_buffer, boost::asio::ip::basic_endpoint<boost::asio::ip::udp>&, boost::system::error_code&)’ 
make: *** [server.o] Error 1 

是文档错误还是我做错了什么? 编辑:不,我错了...对不起,我有一个时刻...它被称为过度劳累!我现在半睡着了。我缺少标志参数。

回答

相关问题