亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? chatsessioni.cpp

?? 一個icestorm的例子.ice是一個開源的中間件,性能好,易使用
?? CPP
字號:
// **********************************************************************//// Copyright (c) 2003-2005 ZeroC, Inc. All rights reserved.//// This copy of Ice is licensed to you under the terms described in the// ICE_LICENSE file included in this distribution.//// **********************************************************************#include <ChatSessionI.h>#include <IceStorm/IceStorm.h>#include <IceUtil/UUID.h>#include <Chat.h>#include <list>using namespace std;using namespace Ice;using namespace Chat;using namespace Glacier2;class RoomManager;typedef IceUtil::Handle<RoomManager> RoomManagerPtr;class RoomManager : public IceUtil::Shared, public IceUtil::Mutex{public:    static RoomManagerPtr& instance();    ~RoomManager();    void initialize(const CommunicatorPtr&);    void destroy();    ChatRoomObserverPrx enter(const string&, const ChatRoomObserverPrx&);    void leave(const string&, const ChatRoomObserverPrx&);private:    IceStorm::TopicManagerPrx _manager;    map<string, IceStorm::TopicPrx> _rooms;    static RoomManagerPtr _instance;    static IceUtil::StaticMutex _instanceMutex;};typedef IceUtil::Handle<RoomManager> RoomManagerPtr;class ChatRoomParticipantI : public ChatRoomParticipant{public:    ChatRoomParticipantI(const string&, const string&, const ChatRoomObserverPrx&);    ~ChatRoomParticipantI();    virtual void say(const string&, const Current&);private:    const string _room;    const string _userId;    const ChatRoomObserverPrx _observer;    const ChatRoomObserverPrx _publish;};class ChatSessionI : public ChatSession, public IceUtil::Mutex{public:    ChatSessionI(const string&);    virtual ChatRoomParticipantPrx join(const string&, const ChatRoomObserverPrx&, const Current&);    virtual void destroy(const Current&);private:    const string _userId;    list<ChatRoomParticipantPrx> _rooms;};RoomManagerPtr RoomManager::_instance;IceUtil::StaticMutex RoomManager::_instanceMutex = ICE_STATIC_MUTEX_INITIALIZER;RoomManagerPtr&RoomManager::instance(){    IceUtil::StaticMutex::Lock sync(_instanceMutex);    if(!_instance)    {	_instance = new RoomManager;    }    return _instance;}RoomManager::~RoomManager(){}voidRoomManager::initialize(const CommunicatorPtr& communicator){    Lock sync(*this);    assert(!_manager);    string proxy = communicator->getProperties()->getProperty("IceStorm.TopicManager.Proxy");    _manager  = IceStorm::TopicManagerPrx::checkedCast(communicator->stringToProxy(proxy));    assert(_manager);}voidRoomManager::destroy(){    Lock sync(*this);    _manager = 0;    _rooms.clear();}ChatRoomObserverPrxRoomManager::enter(const string& room, const ChatRoomObserverPrx& observer){    Lock sync(*this);    assert(_manager);    map<string, IceStorm::TopicPrx>::const_iterator p = _rooms.find(room);    IceStorm::TopicPrx topic;    if(p == _rooms.end())    {	try	{	    topic = _manager->create(room);	}	catch(const IceStorm::TopicExists&)	{	    topic = _manager->retrieve(room);	}	assert(topic);	_rooms.insert(make_pair(room, topic));    }    else    {	topic = p->second;    }    topic->subscribe(IceStorm::QoS(), observer);    Context context;    context["_fwd"] = "Oz";    return ChatRoomObserverPrx::uncheckedCast(topic->getPublisher()->ice_newContext(context));}voidRoomManager::leave(const string& room, const ChatRoomObserverPrx& observer){    Lock sync(*this);    map<string, IceStorm::TopicPrx>::iterator p = _rooms.find(room);    if(p != _rooms.end())    {	p->second->unsubscribe(observer);    }}ChatRoomParticipantI::ChatRoomParticipantI(    const string& room, const string& userId, const ChatRoomObserverPrx& observer) :    _room(room),    _userId(userId),    _observer(observer),    _publish(RoomManager::instance()->enter(room, observer)){    _publish->message(_userId + " has entered the chat room.");}ChatRoomParticipantI::~ChatRoomParticipantI(){    try    {	RoomManager::instance()->leave(_room, _observer);	_publish->message(_userId + " has left the chat room.");    }    catch(...)    {	// Ignore. The ice mediated invocation can throw an	// exception on shutdown.    }}voidChatRoomParticipantI::say(const string& data, const Current&){    _publish->message(_userId + " says: " + data);}ChatSessionI::ChatSessionI(const string& userId) :    _userId(userId){}ChatRoomParticipantPrxChatSessionI::join(const string& room, const ChatRoomObserverPrx& observer, const Current& current){    Lock sync(*this);        Identity id;    id.category = "_" + _userId;    id.name = IceUtil::generateUUID();        ChatRoomParticipantPrx proxy = ChatRoomParticipantPrx::uncheckedCast(	current.adapter->add(new ChatRoomParticipantI(room, _userId, observer), id));    _rooms.push_back(proxy);    return proxy;}voidChatSessionI::destroy(const Current& current){    Lock sync(*this);        current.adapter->remove(current.id);    for(list<ChatRoomParticipantPrx>::const_iterator p = _rooms.begin(); p != _rooms.end(); ++p)    {	current.adapter->remove((*p)->ice_getIdentity());    }    _rooms.clear();}ChatSessionManagerI::ChatSessionManagerI(const CommunicatorPtr& communicator){    RoomManager::instance()->initialize(communicator);}ChatSessionManagerI::~ChatSessionManagerI(){    //    // Destroy the RoomManager state, otherwise proxies exist after    // the communicator is destroyed which results in warnings.    //    RoomManager::instance()->destroy();}SessionPrxChatSessionManagerI::create(const string& userId, const Current& current){    Identity id;    id.category = "_" + userId;    id.name = IceUtil::generateUUID();    return Glacier2::SessionPrx::uncheckedCast(	current.adapter->add(new ChatSessionI(userId), id));}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产乱码最新视频| 日韩你懂的在线播放| 国产精品中文字幕日韩精品| 麻豆精品在线视频| 免费在线一区观看| 秋霞电影网一区二区| 色天天综合久久久久综合片| 成人妖精视频yjsp地址| 日韩高清不卡一区二区三区| 亚洲成人一二三| 麻豆精品视频在线观看免费| 国产91精品在线观看| 在线免费观看日韩欧美| 7777精品伊人久久久大香线蕉最新版| 日韩久久久久久| 尤物av一区二区| 国内精品久久久久影院色 | 免费xxxx性欧美18vr| 精品一区二区三区的国产在线播放| 日本不卡高清视频| 国产.欧美.日韩| 欧美日韩黄视频| 国产视频一区二区三区在线观看 | 午夜精品久久久久| av电影在线观看一区| 久久久亚洲欧洲日产国码αv| 日韩电影在线免费观看| 欧美在线不卡视频| 综合欧美亚洲日本| 成人深夜在线观看| 2022国产精品视频| 国产一区久久久| 欧美日韩夫妻久久| 18成人在线观看| 韩国女主播一区| 欧美亚洲国产一区二区三区 | 午夜精品在线视频一区| 97se亚洲国产综合在线| 国产欧美日韩视频一区二区| 国产一区视频网站| 亚洲欧洲色图综合| 国产成人免费高清| 中文字幕在线不卡一区二区三区| 欧美高清在线一区二区| 亚洲一区av在线| kk眼镜猥琐国模调教系列一区二区| 日韩精品在线看片z| 蜜臀久久99精品久久久久久9| 制服丝袜国产精品| 爽爽淫人综合网网站| 色久综合一二码| 《视频一区视频二区| 欧美在线视频全部完| 精品一区二区在线免费观看| 国产日韩欧美精品一区| 91年精品国产| 奇米四色…亚洲| 欧美国产乱子伦 | 欧美日韩一区二区三区在线| 日本不卡一二三区黄网| 久久午夜色播影院免费高清| 91网站在线观看视频| 首页国产欧美久久| 久久综合久久综合久久综合| 国产精品夜夜爽| 国产精品丝袜黑色高跟| 色综合天天综合网国产成人综合天 | 欧美一区国产二区| 懂色中文一区二区在线播放| 日韩成人午夜精品| 亚洲在线免费播放| 欧美国产禁国产网站cc| 欧美日韩精品免费观看视频| 日韩成人午夜精品| 国产精品萝li| 5月丁香婷婷综合| 成人听书哪个软件好| 免费黄网站欧美| 一区二区三区在线影院| 日韩精品一区二区三区四区视频 | 欧美一级二级在线观看| 国产99一区视频免费| 手机精品视频在线观看| 日本一区二区三区国色天香 | 国产精品亲子伦对白| 欧美日本在线观看| 色悠久久久久综合欧美99| 久久国产精品无码网站| 五月婷婷久久丁香| 亚洲国产成人高清精品| 亚洲va欧美va国产va天堂影院| 亚洲图片激情小说| 国产精品久久久久久久久快鸭| 久久精品免视看| 国产精品久久777777| 樱花草国产18久久久久| 一区二区不卡在线视频 午夜欧美不卡在| 中文字幕一区二区三区蜜月| 中文字幕制服丝袜成人av| 亚洲欧洲av一区二区三区久久| 日韩理论片网站| 亚洲第一综合色| 五月天久久比比资源色| 麻豆国产欧美一区二区三区| 国产在线国偷精品免费看| 精品一区二区三区在线播放视频 | 91丨九色丨黑人外教| 欧美日韩另类一区| 日韩欧美一区中文| 中文字幕精品一区二区三区精品| 亚洲无线码一区二区三区| 国产一区二区三区蝌蚪| 欧美三级资源在线| 一区精品在线播放| 国产在线麻豆精品观看| 色综合久久天天综合网| 久久久综合网站| 日韩一区精品视频| 波多野结衣欧美| 日韩精品一区二区三区视频| 久久久久久久电影| 日本vs亚洲vs韩国一区三区| 国产91露脸合集magnet| 欧美一区二区三区视频| 亚洲九九爱视频| 黄网站免费久久| 日韩美女主播在线视频一区二区三区| 久久久精品影视| 麻豆精品一区二区av白丝在线| 色婷婷av一区二区三区大白胸| 国产欧美精品一区| gogogo免费视频观看亚洲一| 欧美欧美午夜aⅴ在线观看| 亚洲成人资源在线| 日韩欧美亚洲国产精品字幕久久久| 亚洲一区二区三区中文字幕| 在线观看视频一区二区| 亚洲毛片av在线| 欧美系列在线观看| 日韩va欧美va亚洲va久久| 欧美日韩卡一卡二| 香蕉影视欧美成人| 欧美日韩精品一区视频| 亚洲国产成人va在线观看天堂| 不卡在线观看av| 一区二区在线观看免费| 色素色在线综合| 亚洲国产一区二区a毛片| 91精品国产综合久久蜜臀| 激情av综合网| ...xxx性欧美| 91精品欧美久久久久久动漫 | 久色婷婷小香蕉久久| 久久夜色精品国产噜噜av| 色综合久久综合网欧美综合网| 亚洲v中文字幕| 国产日韩综合av| 2017欧美狠狠色| 欧美三级电影一区| 成人h版在线观看| 免费在线观看成人| 亚洲国产综合视频在线观看| 国产精品久久久久9999吃药| 91精品国产免费| 91精品久久久久久久91蜜桃| 欧美精品乱码久久久久久| 国产v日产∨综合v精品视频| 精品一区二区三区免费观看| 毛片av一区二区三区| 日韩福利电影在线观看| 午夜精品一区二区三区免费视频| 亚洲欧美激情视频在线观看一区二区三区| ww亚洲ww在线观看国产| 欧美一区二区三区免费在线看| aaa亚洲精品| 成人免费毛片a| 国产成人精品免费视频网站| 精品无人码麻豆乱码1区2区 | 久久电影国产免费久久电影 | caoporn国产一区二区| 成人性生交大合| 国产91高潮流白浆在线麻豆 | 国产91对白在线观看九色| 奇米色777欧美一区二区| 老司机精品视频导航| 国产成人精品免费在线| 国产999精品久久久久久绿帽| 国产成人免费视| 日本高清无吗v一区| 欧美日韩国产一区| 精品国产123| 亚洲人午夜精品天堂一二香蕉| 亚洲精品乱码久久久久久日本蜜臀| 亚洲一区二区在线观看视频| 美女任你摸久久| 成人午夜又粗又硬又大| 色伊人久久综合中文字幕| 一本大道av伊人久久综合| 成人午夜视频网站| 欧美色精品在线视频|