我正在使用 boost::asio::deadline_timer,来设置 tcp socket 上的一个 async_read
操作之前的超时时间。我使用的是 boost 1.61 版本。
long time_out_millis = 2000;
boost::asio::deadline_timer theTimer(theSocket.get_io_service(), boost::posix_time::milliseconds(time_out_millis));
问题:我的代码中使用了
std::chrono::milliseconds
,我想使用std::chrono
代替"long time_out_millis"
,并且如果可能的话,也想使用std::chrono::milliseconds
来替换boost::posix_time::milliseconds
。 我该怎么做呢?
问题:那么,在这里如何使用
std::chrono::milliseconds
? 有什么办法可以将std::chrono::milliseconds
转换为boost::posix_time::milliseconds
吗?
Clock::duration
还是std::chrono::system_clock::duration
? - TheWaterProgrammerClock::duration timeout = 2000ms;
是什么意思。这段代码无法编译通过。如果改为std::chrono::system_clock::duration timeout = 2000ms
,则会出现一些与时间长度相关的编译错误。 - TheWaterProgrammerClock
would be a typedef forstd::chrono::high_resolution_clock
- seheseconds
应该改为milliseconds
吗?boost::posix_time::milliseconds(duration_cast<milliseconds>(2s).count());
- Quokkaduration / 1s
或者duration / 1.0ms
等等。 - sehe