本文整理汇总了C++中udp::socket::receive_from方法的典型用法代码示例。如果您正苦于以下问题:C++ socket::receive_from方法的具体用法?C++ socket::receive_from怎么用?C++ socket::receive_from使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类udp::socket
的用法示例。
在下文中一共展示了socket::receive_from方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: thread_fun
void thread_fun()
{
char buffer[2000];
for (;;)
{
error_code ec;
udp::endpoint from;
int bytes_transferred = m_socket.receive_from(
asio::buffer(buffer, sizeof(buffer)), from, 0, ec);
if (ec == boost::asio::error::operation_aborted
|| ec == boost::asio::error::bad_descriptor) return;
if (ec)
{
fprintf(stderr, "Error receiving on DHT socket: %s\n", ec.message().c_str());
return;
}
try
{
entry msg = bdecode(buffer, buffer + bytes_transferred);
#if defined TORRENT_DEBUG && TORRENT_USE_IOSTREAM
std::cerr << msg << std::endl;
#endif
++m_dht_requests;
}
catch (std::exception& e)
{
fprintf(stderr, "failed to decode DHT message: %s\n", e.what());
}
}
}
示例2: run
void run() {
using namespace boost::posix_time;
boost::system::error_code error;
ptime now;
udp::endpoint endpoint;
while(!this->checked_ || this->alive_) {
socket->receive_from(asio::buffer(buf), endpoint, 0, error);
if(error == boost::system::errc::success) {
last = microsec_clock::local_time();
}
}
}