示例#1
0
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;
}
示例#2
0
文件: main.c 项目: ireader/sdk
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;
}