實現乙個類似的python訊息響應機制

2021-06-28 02:30:52 字數 833 閱讀 9813

因為需要寫乙個類似的訊息響應的機制,即當某個類收到相應的訊息之後呼叫相應的響應函式

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黨,我一向考慮東西會優...