BOOST UDP 网络通信(2) --如何传输结构体

xiaoxiao2021-02-28  22

//前提

boost::shared_ptr<boost::thread> _Thread; boost::asio::io_service _IOS; boost::shared_ptr<udp::socket> _Socket; TSString _MulticastAddress; //异步调用中run函数说明; //IOS中的run成员函数可以等待异步操作完成,当异步操作完成时IOS从操作系统获取执行结果,调用完成处理函数; //在异步调用中run函数是必须的,调用run函数,它启动前摄器的事件处理循环,阻塞等待所有的操作完成并分派事件, //如果不调用run那么虽然操作被异步执行了,但没有一个等待它完成的机制,回调函数将得不到执行的机会 //IOS的run函数在新建的线程中运行,由于IOS的数据传输工作都是在run中执行,故使用IOS进行UDP/TCP传输都在另起新线程中执行. _Thread.rest( nwe boost::thread(boost::bind(&boost::asio::io_service::run, &_IOS)) ); boost::asion::ip::udp::endpoint listen_endpoint( udp::v4(), 1010 ); _Socket,reset( new udp::socket(_IOS) ); //修改接收缓冲区大小 _Socket->set_option( boost::asio::socket_base::receive_buffer_size(1024*1024*50) ); _Socket->open( lister_endpoint ); _Socket->set_option( boost::asio::ip::udp::socket::reuse_address(true) ); _Socket->bind( listen_endpoint ); _S
转载请注明原文地址: https://www.6miu.com/read-250043.html

最新回复(0)