• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-380  評論-37  文章-0  trackbacks-0
            #include <iostream>
            #include <boost/asio.hpp>
            #include <boost/bind.hpp>
            #include <boost/shared_ptr.hpp>
            #include "Session.h"
            using namespace boost::asio::ip;
            using namespace boost::asio;
            class Acceptor 
            {
            public:
            typedef boost::shared_ptr<Session> SessionPtr;
            public: 
            Acceptor(io_service& ioservice, tcp::endpoint& endpoint);
            ~Acceptor();
            private: 
            void handle_accept(const boost::system::error_code& error, SessionPtr session);
            private: 
            io_service& ioservice_;
            tcp::acceptor acceptor_; 
            };


            #include "stdafx.h"
            #include "Acceptor.h"
            Acceptor::Acceptor(boost::asio::io_service& ioservice, tcp::endpoint& endpoint) : 
            ioservice_(ioservice), 
            acceptor_(ioservice, endpoint)
            {
            SessionPtr new_session(new Session(ioservice));
            acceptor_.async_accept(new_session->socket(),
            boost::bind(&Acceptor::handle_accept, this, boost::asio::placeholders::error, new_session));
            }
            Acceptor::~Acceptor()
            {
            }
            void Acceptor::handle_accept(const boost::system::error_code& error, SessionPtr session)
            {
            if (!error)
            {
            std::cout << "get a new client!" << std::endl; //實現對每個客戶端的數據處理 
            session->start();
            SessionPtr new_session(new Session(ioservice_));
            acceptor_.async_accept(new_session->socket(),
            boost::bind(&Acceptor::handle_accept, this, boost::asio::placeholders::error, new_session));
            }
            }

            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            #pragma once
            #include <iostream>
            #include <boost/asio.hpp>
            #include <boost/bind.hpp>
            #include <boost/smart_ptr.hpp>
            #define max_len 1024
            using namespace boost::asio::ip;
            class Session : public boost::enable_shared_from_this<Session>
            {
            public:
            Session(boost::asio::io_service& ioservice);
            ~Session();
            tcp::socket& socket();
            void start();
            private:
            void handle_write(const boost::system::error_code& error);
            void handle_read(const boost::system::error_code& error);
            private:
            tcp::socket m_socket;
            char data_[max_len];
            };
            posted on 2009-08-19 00:21 小王 閱讀(1430) 評論(0)  編輯 收藏 引用 所屬分類: 網絡通訊
            亚洲精品tv久久久久久久久| 久久精品亚洲欧美日韩久久| 国产V综合V亚洲欧美久久| 久久久久免费精品国产| 久久99精品久久久久久野外| 久久精品亚洲一区二区三区浴池 | 久久精品国产精品亚洲艾草网美妙| 久久夜色撩人精品国产| 久久久久久夜精品精品免费啦 | 国产欧美一区二区久久| 亚洲午夜精品久久久久久浪潮| 久久久久亚洲av无码专区喷水| 99久久无码一区人妻| 久久无码人妻一区二区三区| 中文精品久久久久人妻| 亚洲综合婷婷久久| 成人国内精品久久久久影院| 亚洲精品乱码久久久久久按摩| 日韩久久久久中文字幕人妻| 精品久久久久国产免费| 久久免费精品视频| 久久99国内精品自在现线| 久久亚洲熟女cc98cm| 久久久精品久久久久影院| 国产女人aaa级久久久级| 久久精品这里热有精品| jizzjizz国产精品久久| …久久精品99久久香蕉国产| 香蕉久久av一区二区三区| 久久天天躁狠狠躁夜夜不卡| 亚洲精品乱码久久久久久蜜桃| 久久天天躁狠狠躁夜夜2020老熟妇| 91久久精品国产91性色也| 88久久精品无码一区二区毛片| 久久久久中文字幕| 伊人色综合久久| 久久精品无码一区二区三区日韩 | 久久综合精品国产一区二区三区| 99久久精品国产一区二区| 超级碰久久免费公开视频| 国产精品免费久久久久电影网|