前段時間寫了個自定義通訊協議的聊天室(即用\r\n標記字串,作為一句話),總感覺自己弄的那個協議實現雖然簡單,但是拓展性就太差了,只適合於傳送聊天的內容,難以包含更多的資訊。基於上述幾點,於是就開始接觸xmpp協議,並自己定義了乙個簡單的xmpp協議用以實現聊天室。
首先有2點要知道:
1.什麼是xmpp協議?
xmpp協議是一種通訊協議,有自己的規則,即用xml格式的訊息進行通訊。
2.xml串的例子。
laoyang
idnumber
pswname
b. 註冊應答訊息:regans
state
state:註冊成功或者註冊失敗
c. 登陸訊息:login
idnumber
psw
d. 登陸應答訊息:loginans
state
state:登陸成功或者登陸失敗
e. 聊天訊息:chat
name
name
message
f. 上線訊息:online
cnt
g. 下線訊息: offline
cntuser1,user2,user3.....
i. 終止使用者聊天的訊息exit
四.關於類的結構的分析(由於內容有點多,所以放在附件的文字中,此處不再寫出)
部分:
感想:
1.做軟體,最重要,最關鍵的一步在於設計,所以在開始寫**前,一定要先分析需求,然後還要對如何實現做乙個具體的分析與設計。
2.要進行通訊,必須要有通訊協議,做通訊軟體,必須要選擇合適的通訊協議。
3.測試軟體效能時,要考慮各種意外情況的發生,比如:突然斷網,伺服器那邊突然停電,so on....,這時要把異常處理的工作給做好。
展望:
本人也是個鐵桿dotaer,所以下一步的打算是做乙個對戰平台,上網搜了下原理,也看了下別人做的對戰平台,覺得還是能夠自己實現的,不過以後的日子就苦逼啦。 tcp/ip的書必須要去看了,對戰平台的需求分析必須要去做了。
最後,附上原始碼和相關的文字(相關分析的檔案用記事本開啟就可以)
通訊 基於Xmpp協議實現的聊天室
size medium 前段時間寫了個自定義通訊協議的聊天室 即用 r n標記字串,作為一句話 總感覺自己弄的那個協議實現雖然簡單,但是拓展性就太差了,只適合於傳送聊天的內容,難以包含更多的資訊。基於上述幾點,於是就開始接觸xmpp協議,並自己定義了乙個簡單的xmpp協議用以實現聊天室。size s...
基於XMPP協議的即時通訊
最近公司的專案需要用到即時通訊技術,就花了一點時間對即時通訊技術進行研究。經過調研發現,通過openfire spark smack就可以實現。廢話不多說,下面我們就來講一下具體的實現。1.什麼叫openfire?openfire是乙個即時通訊伺服器,也稱之為即時通訊平台。它是基於xmpp協議的,大...
xmpp實現個人聊天
最近一直相研究下如何用xmpp第三方庫寫乙個實現群組聊天的demo但苦於沒人給指路,所以就從個人聊天開始下手。這裡就講一下個人聊天用xmpp如何實現 然後新增路徑 usr include libxml2 然後匯入五個系統庫 libxml2.dylib cfnetwork.framework syst...