ASIO "std::error_code" 在日食中没有解决?
asio "std::error_code" not resolved in eclipse?
我完全是ASIO c++套接字库的新手。设法在eclipse中使用'asio nonboost'和openssl库进行设置。现在我被困在"std::error_code"未解决。
请帮忙,我已经在这上面花了很多时间了。
下面是我试图运行的asio的async_udp_echo_server页面。
#include <cstdlib>
#include <iostream>
#include "asio.hpp"
using asio::ip::udp;
class server
{
public:
server(asio::io_service& io_service, short port)
: socket_(io_service, udp::endpoint(udp::v4(), port))
{
do_receive();
}
void do_receive()
{
socket_.async_receive_from(
asio::buffer(data_, max_length), sender_endpoint_,
[this](std::error_code ec, std::size_t bytes_recvd)
{
if (!ec && bytes_recvd > 0)
{
do_send(bytes_recvd);
}
else
{
do_receive();
}
});
}
void do_send(std::size_t length)
{
socket_.async_send_to(
asio::buffer(data_, length), sender_endpoint_,
[this](std::error_code /*ec*/, std::size_t /*bytes_sent*/)
{
do_receive();
});
}
private:
udp::socket socket_;
udp::endpoint sender_endpoint_;
enum { max_length = 1024 };
char data_[max_length];
};
int main(int argc, char* argv[])
{
try
{
if (argc != 2)
{
std::cerr << "Usage: async_udp_echo_server <port>n";
return 1;
}
asio::io_service io_service;
server s(io_service, std::atoi(argv[1]));
io_service.run();
}
catch (std::exception& e)
{
std::cerr << "Exception: " << e.what() << "n";
}
return 0;
}
由于您正在使用"独立"asio
, error_code
应该是asio::error_code
而不是std::error_code
。注:boost::asio
需要boost::system::error_code
我使用以下宏在boost
和"独立"asio
之间切换:
#ifdef ASIO_STANDALONE
#include <asio.hpp>
#define ASIO asio
#define ASIO_ERROR_CODE asio::error_code
#define ASIO_TIMER asio::steady_timer
#else
#include <boost/asio.hpp>
#define ASIO boost::asio
#define ASIO_ERROR_CODE boost::system::error_code
#define ASIO_TIMER boost::asio::deadline_timer
#endif
相关文章:
- "error: no matching function for call to"构造函数错误
- 运行同一解决方案的另一个项目的项目
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- Project Euler问题4的错误解决方案
- Ardunio UNO解决了多个重叠的定时器循环
- 使用 LuaBridge 将 LuaJIT 绑定到C++会导致"PANIC: unprotected error"
- 如何解决gcc编译器优化导致的centos双编译器设置中的分段错误
- OpenMP卸载说'fatal error: could not find accel/nvptx-none/mkoffload'
- 两个文件使用彼此的功能-如何解决
- 已解决 - C++ 的崇高文本中的"fatal error: opencv: no such file or directory"
- 如何解决g++问题"internal compiler error: Illegal instruction min() _GLIBCXX_USE_NOEXCEPT { return __FLT_MI
- 如何解决"if"块中的"Undeclared identifier error"?
- 我在C++中收到错误" [Error] ld returned 1 exit status".帮我解决这个问题
- "error: no matching function for call to ‘push_back(char [6])" .如何解决此代码中的错误?
- "[Error] pointer value used where a floating point value was expected" 如何解决此错误?
- 如何解决"error reading characters of string"?
- 如何解决C代码中"runtime error exitcode 6"报告的错误?
- 如何在c ++中解决"Access violating reading location error"?
- 任何想法来解决"Linker error"不可置信的参考
- 如何解决"[Error] invalid use of incomplete type 'class SLLNode'"链表