// 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 recv_buf[BUF_SIZE];
acl::socket_stream udp_client;
const char* ppp = NULL;
if (!udp_client.bind_udp("127.0.0.1:0", -1)) {
return 1;
}
udp_client.set_peer(server_ip);
std::string send_msg;
while (true) {
std::cout << "\n请输入要发送的内容: ";
std::getline(std::cin, send_msg);
if (send_msg == "exit") {
break;
}
if (send_msg.empty()) {
continue;
}
int send_len = udp_client.write(send_msg.c_str(), send_msg.size());
if (send_len <= 0) {
continue;
}
std::cout << "发送成功,字节数: " << send_len << ",内容: " << send_msg << std::endl;
int recv_len = udp_client.read(recv_buf, BUF_SIZE, false);
if (recv_len <= 0) {
continue;
}
recv_buf[recv_len] = '\0';
std::cout << "收到服务端回显: " << recv_buf << std::endl;
}
udp_client.close();
return 0;
}