1、c++ acl udp服务器客户端简单实例-服务器端(1)

// udpserverDemo.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include "acl_cpp/lib_acl.hpp"

using namespace acl;

int _tmain(int argc, _TCHAR* argv[])

{

acl_cpp_init();

const char* server_ip = "127.0.0.1:12345";

const int BUF_SIZE = 4096;

char buf[BUF_SIZE];

acl::socket_stream udp_server;

if (!udp_server.bind_udp(server_ip)) {

return 1;

}

std::cout << "等待客户端发送UDP数据..." << std::endl;

while (true) {

acl::string client_addr;

int recv_len = udp_server.read(buf, BUF_SIZE, false);

if (recv_len <= 0) {

continue;

}

buf[recv_len] = '\0';

const char* strpeerip = udp_server.get_peer_ip();

int send_len = udp_server.write(buf, recv_len);

if (send_len <= 0) {

std::cerr << "向客户端[" << client_addr.c_str()

<< "]发送响应失败!" << std::endl;

}

else {

std::cout << "已向[" << client_addr.c_str() << "]回显数据: " << buf;

}

}

udp_server.close();

return 0;

}

相关推荐
石山代码38 分钟前
C++ 内存分区 堆区
java·开发语言·c++
江公望2 小时前
Ubuntu htop命令,10分钟讲清楚
linux·服务器
哎呦,帅小伙哦2 小时前
Linux 时间:从原子钟到 clock_gettime 的每一面
linux·运维·服务器
张小姐的猫3 小时前
【Linux】多线程 —— 线程互斥
linux·运维·服务器·c++
YMWM_3 小时前
UDP协议详解:从原理到Python实践
网络·网络协议·udp
YuanDaima20483 小时前
Linux 进阶运维与 AI 环境实战:进程管理、网络排错与 GPU 监控
linux·运维·服务器·网络·人工智能
lolo大魔王5 小时前
Linux 数据文件处理实战:排序、搜索、压缩、归档一站式详解
linux·运维·服务器
做人求其滴5 小时前
面试经典 150 题 380 274
c++·算法·面试·职场和发展·力扣
见叶之秋5 小时前
C++基础入门指南
开发语言·c++
计算机安禾5 小时前
【c++面向对象编程】第42篇:模板特化与偏特化:为特定类型定制实现
开发语言·c++·算法