int main(int argc, char* argv[]) { try { std::string localhost("192.170.10.100"); std::string localport("30200"); std::string remotehost("192.170.10.2"); std::string remoteport("30200"); std::cout << "argc: " << argc << "\n"; /// @todo add default localhost/localport if (argc !=5 && argc !=1) { std::cerr << "Usage: " << argv[0] << " <localip> <localport> <remoteip> <remoteport>\n"; return 1; } if(argc ==5){ localhost = std::string(argv[1]); localport = std::string(argv[2]); remotehost = std::string(argv[3]); remoteport = std::string(argv[4]); } std::cout << "using: " << argv[0] << " " << localhost << " " << localport << " " << remotehost << " " << remoteport << "\n"; boost::asio::io_service io_service; boost::asio::ip::udp::socket s(io_service, boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string(localhost), boost::lexical_cast<short>(localport))); boost::asio::ip::udp::resolver resolver(io_service); boost::asio::ip::udp::endpoint endpoint = *resolver.resolve({boost::asio::ip::udp::v4(), remotehost, remoteport}); s.connect(endpoint); SocketTest socket_test(std::move(s)); socket_test.async_receive(boost::system::error_code(),0,dummy(), []( boost::system::error_code ec, std::size_t bytes_transferred){ // many cool things accomplished! },dummy()); io_service.run(); } catch (std::exception& e) { std::cerr << "Exception: " << e.what() << "\n"; } return 0; }
int main(int argc, char* argv[]) { #if defined(OS_LINUX) struct sigaction sa; sa.sa_handler = SIG_IGN; sigaction(SIGCHLD, &sa, 0); sigaction(SIGPIPE, &sa, 0); #endif heap_test(); rbtree_test(); timer_test(); socket_test(); locker_test(); atomic_test(); #if defined(ATOMIC_TEST) atomic_test2(); #endif spinlock_test(); event_test(); #if !defined(OS_MAC) semaphore_test(); #endif onetime_test(); bits_test(); stack_test(); time64_test(); base64_test(); bitmap_test(); hweight_test(); ring_buffer_test(); uri_parse_test(); #if defined(HTTP_TEST) http_test(); #endif thread_pool_test(); task_queue_test(); ip_route_test(); aio_socket_test_cancel(); aio_socket_test(); aio_socket_test2(); aio_socket_test3(); aio_socket_test4(); #if defined(OS_WINDOWS) unicode_test(); utf8codec_test(); systimer_test(); system("pause"); #endif return 0; }