LinuxC/C++编程基础(21) 使用boost::asio搭建服务器简单实例(续)

本文提供了一个使用Boost.ASIO库搭建C++服务器的简单实例,包括`crossdomain.h`和`crossdomain.cpp`的代码实现,以及`main.cpp`的入口程序。通过创建`CrossDomain`类并监听指定端口,当接收到客户端连接时,服务器会发送响应数据。
摘要由CSDN通过智能技术生成

写在前面:前一篇文字http://blog.csdn.net/linyanwen99/article/details/8274754已经把相关原理讲解了,这里就不再赘述,直接上源码

一.crossdomain.h头文件的声明,如下:

#ifndef CROSSDOMAIN_H
#define CROSSDOMAIN_H
#include <string>
#include <boost/asio.hpp>
#include <boost/bind.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/enable_shared_from_this.hpp>
using namespace boost;
class CrossDomain{
private:
    struct Server;
    shared_ptr<Server> m_pserver;
    CrossDomain(asio::io_service& io_service,const std::string& local_port);
    static CrossDomain* s_instance;
public:
    static void create(asio::io_service& io_service,const std::string& local_port){
        s_instance = new CrossDomain(io_service,local_port);
    }
    static CrossDomain* instance();
    void startServer();
};
#endif

转载请注明出处:山水间博客,http://blog.csdn.net/linyanwen99/article/details/8274812

二.crossdomain.cpp的实现,如下:

#include "crossdomain.h"
using boost::asio::ip::tcp;
using boost::uint8_t;
CrossDomain* CrossDomain::s_instance = NULL;
struct CrossDomainImpl:public boost::enable_shared_from_this<CrossDomainImpl>{
public:
    static const unsigned MaxRe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值