// test.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <boost/asio.hpp>
#include <boost/bind.hpp>
#include <boost/date_time/posix_time/posix_time_types.hpp>
#include <iostream>
using namespace boost::asio;
using boost::asio::ip::tcp;
class connect_handler
{
public:
connect_handler(io_service& ios)
: io_service_(ios),
timer_(ios),
socket_(ios)
{
socket_.async_connect(
tcp::endpoint(boost::asio::ip::address_v4::loopback(), 3212),
boost::bind(&connect_handler::handle_connect, this,
boost::asio::placeholders::error));
timer_.expires_from_now(boost::posix_time::seconds(5));
timer_.async_wait(boost::bind(&connect_handler::close, this));
}
void handle_connect(const boost::system::error_code& err)
{
if (err)
{
std::cout << "Connect error: " << err.message() << "\n";
}
else
{
std::cout << "Successful connection\n";
}
}
void close()
{
socket_.close();
}
private:
io_service& io_service_;
deadline_timer timer_;
tcp::socket socket_;
};
int main()
{
try
{
io_service ios;
tcp::acceptor a(ios, tcp::endpoint(tcp::v4(), 32123), 1);
// Make lots of connections so that at least some of them will block.
connect_handler ch1(ios);
//connect_handler ch2(ios);
//connect_handler ch3(ios);
//connect_handler ch4(ios);
//connect_handler ch5(ios);
//connect_handler ch6(ios);
//connect_handler ch7(ios);
//connect_handler ch8(ios);
//connect_handler ch9(ios);
ios.run();
}
catch (std::exception& e)
{
std::cerr << "Exception: " << e.what() << "\n";
}
return 0;
}
分享到:
相关推荐
用boost库asio网络库的全面封装,包含网络通信,负载均衡,线程池调度,定时器调度,能用于服务器和客户端开发,给出的代码中包含服务器及客户端
通过BOOST.ASIO实现Socket Server
boost::asio tcp服务器的实现 封装socket, 监听socket, C++11智能指针, 要求: vs2012或以上版本
C++ asio实现的简单web server。
通过boost::asio::serialport类实现串口通信的例子
最近一个windows的项目(手游服务器)中不允许使用boost,这让长期用boost::asio搞linux服务程序开发的我很不适应,于是抽了一周的时间研究了boost::asio的IOCP实现,并实现了一个简化版,主要代码仅千行,正好能用于...
串口通信-asio实现
Qt中独立Asio高性能网络异步库的使用实例。本次介绍的都是Asio独立运行库。Boost.Asio的作者也保持了Asio。你可以用Asio的方式来思考,因为它在两种情况中都有:Asio(非Boost的)和Boost.Asio
LabVIEW调用ASIO声卡驱动,控制ASIO声卡播放录音。
自动识别当前ASIO驱动,可选择不同声卡录音,最大支持10通道的ASIO声卡录音,可选择录音通道数,录音文件保存在当前目录,格式为wav格式,win7下亲测使用正常
一个基本的聊天程序,基于Asio实现,相信知道Boost的人都很清楚Asio这个东西 想学习C++网络编程的可以看看,很基础的东西
2 使用 Asio 2.1 下载 Asio 库分为 Boost 版和 non-Boost 版,后者的下载地址为: http://think-async.com/ ,下载完成后,直接解压到合适位置即可。 2.2 配置 INCLUDEPATH += $$PWD/../../serialport/asio-1.10.8...
ASIO4ALL是ASIO驱动的平民版。是由Wuschel开发出来的一款绿色小巧的 ASIO 驱动,声称能使几乎所有的声卡以及 AC97板载声卡都能支持 ASIO,达到专业音频卡才能达到的低延迟。适用于几乎所有的声卡以及板载AC97声卡,...
利用Boost::Asio库来实现Post/Get请求的发送。可以快速开发c++的http请求,访问以http为协议的服务器示例代码。
基于boost的asio封装的高性能TCP服务器。asio已经有很好的事件封装机制,只有底层事件,没有针对TCP建立会话机制;也没有多多包进行合包,已包为单位的事件提交机制。由于以上多种原因,决定对boost库进行更高的抽象...
ASIO 是优秀的音频驱动,使用这款驱动可以获得极低的时间延迟。 Changes in ASIO 2.3 since ASIO 2.2 - added host queries to detect the driver's buffering and drop-out detection capabilities - some ...
ASIO的全称是Audio Stream Input Output,直接翻译过来就是音频流输入输出接口的意思,ASIO完全摆脱了Windows操作系统对硬件的集中控制,它能实现在音频处理软件与硬件之间进行多通道传输的同时,将系统对音频流的...
Boost.Asio C++ Network Programming 书的翻译 此版本的书无目录失效BUG 并且带全书源代码 方便学习使用
当然,两端都是st_asio_wrapper的话,就用透明传输即可(1.0版已经支持了)。 1.2版更新内容: 修复BUG:当stop_service之后,再start_service时,client_base内部某些成员变量可能没有得到复位; 服务端增加修改...
我的原创,对boost库asio网络库的全面封装,包含网络通信,负载均衡,线程池调度,定时器调度,能用于服务器和客户端开发,给出的代码中包含一个Loop back ping pong服务器以及客户端