因為需要寫乙個類似的訊息響應的機制,即當某個類收到相應的訊息之後呼叫相應的響應函式
class messagehandler():
funcdict = {}
def onevent(self, cmd, param, recv):
try:
func = self.funcdict[cmd]
func(param, recv)
except:
return none
def addevent(self, msgname, funcname):
self.funcdict[msgname] = funcname
類非常簡單,可以在這個類再封裝一層
class messageengine():
msg = messagehandler()
def addhandler(self, msgname, funcname):
self.msg.addevent(msgname, funcname)
def recvmessage(self, msgname, param):
self.msg.onevent(msgname, param)
def run(self):
work()
使用的話就messageengine.addhandler("login", onlogin())來表示訊息對映表
接收到訊息就呼叫相應的recvmessage("login", infomation)就行了,如果多個引數,其實可以用python的集合或者用python的可變引數就行了.
Tornado實現乙個訊息牆。
tornado對asynchronous http有很好的支援。所以跟著demo,總結下乙個訊息牆要怎麼做。思路 首先查了下有兩種思路,一種是client pull 一種是server push。這裡使用的是server pull,技術就是挺流行的comet技術。comet大概就是說 我客戶端傳送乙...
用 Promise 實現乙個訊息佇列
在此篇部落格中,我們的需求如下 有乙個訊息排程器去操作傳送來訊息 但處理訊息花費的事件是不確定的,有多有少 訊息是不斷傳送過來的 這個時候就會出現一種情況 前一條訊息還未執行結束,後一條訊息就被傳送過來了 如果這個時候要求後一條訊息必須在前一條執行完才開始執行,該如何實現?sync function...
python時鐘與訊息觸發 用py實現乙個時鐘
雙十一啥都沒買,一沒妹紙二沒錢,乾脆坐電腦前面寫 吧。看到 阿里雲安全 發的微博 我想,這個簡單啊,作為乙個忠實的py黨,一分鐘寫了個簡單的 如此如此 後來想想,我去,不行說好的時鐘呢,這就是個計時器啊。時鐘一定要長的夠帥!好我們開始認認真真寫時鐘,作為乙個忠誠的windows黨,我一向考慮東西會優...