当前位置: 首页 > news >正文

深圳建站公司 方网站dedecms 做电商网站

深圳建站公司 方网站,dedecms 做电商网站,公司简介宣传,喀什seo排名以下是一个使用独立的 C Asio 库实现的 UDP 服务器的示例代码。这个 UDP 服务器可以监听指定端口#xff0c;接收客户端发送的数据#xff0c;并将接收到的数据原样返回给客户端。 #include iostream #include asio.hpp #include arrayclass UdpSer…以下是一个使用独立的 C Asio 库实现的 UDP 服务器的示例代码。这个 UDP 服务器可以监听指定端口接收客户端发送的数据并将接收到的数据原样返回给客户端。 #include iostream #include asio.hpp #include arrayclass UdpServer { public:// 构造函数初始化服务器并开始接收数据UdpServer(asio::io_context io_context, short port): socket_(io_context, asio::ip::udp::endpoint(asio::ip::udp::v4(), port)) {startReceive();}private:// 开始异步接收数据的方法void startReceive() {socket_.async_receive_from(asio::buffer(data_, max_length), sender_endpoint_,[this](const asio::error_code ec, std::size_t bytes_recvd) {if (!ec bytes_recvd 0) {handleReceive(bytes_recvd);} else {startReceive();}});}// 处理接收到的数据的方法void handleReceive(std::size_t length) {std::cout Received length bytes from sender_endpoint_.address().to_string() : sender_endpoint_.port() std::endl;std::cout Message: std::string(data_.data(), length) std::endl;// 回显接收到的数据给客户端socket_.async_send_to(asio::buffer(data_, length), sender_endpoint_,[this](const asio::error_code /*ec*/, std::size_t /*bytes_sent*/) {startReceive();});}asio::ip::udp::socket socket_;asio::ip::udp::endpoint sender_endpoint_;static constexpr std::size_t max_length 1024;std::arraychar, max_length data_; };int main() {try {// 创建 io_context 对象用于管理异步操作asio::io_context io_context;// 创建 UDP 服务器实例监听端口 12345UdpServer server(io_context, 12345);// 启动事件循环处理异步操作io_context.run();} catch (const std::exception e) {// 捕获并输出异常信息std::cerr Exception: e.what() std::endl;}return 0; }代码解释 UdpServer 类 构造函数 接收一个 asio::io_context 对象和一个端口号作为参数。创建一个 asio::ip::udp::socket 对象并将其绑定到指定的端口使用 asio::ip::udp::endpoint。调用 startReceive 方法开始异步接收数据。 startReceive 方法 使用 socket_.async_receive_from 异步地从客户端接收数据。该方法接受一个缓冲区asio::buffer、一个存储发送方端点信息的 sender_endpoint_ 对象以及一个回调函数。当有数据到达时回调函数会被触发。如果没有错误且接收到的数据长度大于 0则调用 handleReceive 方法处理数据否则继续等待下一次接收。 handleReceive 方法 打印接收到的数据的长度、发送方的 IP 地址和端口号。使用 socket_.async_send_to 异步地将接收到的数据原样返回给客户端。在发送完成的回调函数中如果没有错误继续调用 startReceive 方法等待下一次接收如果有错误则输出错误信息并继续等待。 main 函数 创建一个 asio::io_context 对象它是 Asio 库的核心用于管理异步操作的事件循环。创建一个 UdpServer 对象指定监听的端口为 12345。调用 io_context.run() 启动事件循环开始处理异步操作。使用 try-catch 块捕获并处理可能抛出的异常。 编译和运行 要编译这个程序你可以使用以下命令假设使用 g 编译器 g -stdc17 -o udp_server udp_server.cpp -lpthread运行程序 ./udp_server运行服务器后它会开始监听 12345 端口等待客户端发送数据。你可以使用网络调试工具或者编写一个 UDP 客户端程序来与这个服务器进行通信测试。
http://www.hkea.cn/news/14438664/

相关文章:

  • 网站推广原则海外服务器ip
  • 网站建设报价模版商标设计网上接单 平台
  • 网站审核备案表长沙互联网企业排名
  • 网站改版灵感库开网页死机
  • 合肥营销网站建设联系方式电商网站开发项目计划书
  • 网站空间购买费用wordpress 图片排列
  • 网站开发注意的事项传智播客
  • 深圳专业做网站较好的公司工程建设信息网站
  • 浙江网站建设方案优化网页制作工具中flash可以让网页动起来
  • 博天网站建设网络做门户网站挣钱吗
  • 怎么用手机做网站平台网站短信验证码怎么做
  • 做网站建设的联系电话深圳网站制作品牌祥奔科技
  • 网站开发需要会什么软件南京江北新区房价2022最新价格
  • 禅城做网站广东哪里有网站建设
  • 为什么网站不见了个人网页设计界面
  • 视觉中国网站企业网盘解决方案
  • 企业网站空间抖音开放平台官网入口
  • 做一个京东网站怎么做兰州网站建设lzwlxc
  • 成绩分析智能网站怎么做学校网站要更新应怎么做
  • 张家港市凤凰镇建设局网站wordpress图片储存到七牛云
  • 做电商网站需要会些什么织梦m网站伪静态
  • 大学物流仓储作业代做网站给图像做标注的网站
  • 广州设计公司网站网站建设全包广州
  • 小型网站建设上海大学生做网站的团队
  • 网站建设策划师舒肤佳网络营销方案
  • 网站被百度删除的原因国外网站网站app
  • 网站与网页的关系网站建设员性质
  • 网站空间到期时间查询淮安网站建设要多少钱
  • 网站备案备的是域名还是空间然后制作网页
  • seo网站推广专员招聘品牌建设 奖