blocking_udp_echo_client.cpp

来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 60 行

CPP
60
字号
//// blocking_udp_echo_client.cpp// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~//// Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)//// Distributed under the Boost Software License, Version 1.0. (See accompanying// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)//#include <cstdlib>#include <cstring>#include <iostream>#include <boost/asio.hpp>using boost::asio::ip::udp;enum { max_length = 1024 };int main(int argc, char* argv[]){  try  {    if (argc != 3)    {      std::cerr << "Usage: blocking_udp_echo_client <host> <port>\n";      return 1;    }    boost::asio::io_service io_service;    udp::socket s(io_service, udp::endpoint(udp::v4(), 0));    udp::resolver resolver(io_service);    udp::resolver::query query(udp::v4(), argv[1], argv[2]);    udp::resolver::iterator iterator = resolver.resolve(query);    using namespace std; // For strlen.    std::cout << "Enter message: ";    char request[max_length];    std::cin.getline(request, max_length);    size_t request_length = strlen(request);    s.send_to(boost::asio::buffer(request, request_length), *iterator);    char reply[max_length];    udp::endpoint sender_endpoint;    size_t reply_length = s.receive_from(        boost::asio::buffer(reply, max_length), sender_endpoint);    std::cout << "Reply is: ";    std::cout.write(reply, reply_length);    std::cout << "\n";  }  catch (std::exception& e)  {    std::cerr << "Exception: " << e.what() << "\n";  }  return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?