今天化了乙個下午的時間研究了一下msn的協議,對msn的協議注意了有很長的時間了,但是卻一直沒有親自做過什麼程式。
前面有開心的msn,後來也給陳銳發過,今天決定自己做乙個程式連帶學習託管c++
基於msn的開發其實非常簡單,關鍵是熟悉msn的協議,大家可以在這裡學習到詳細的msn協議的知識,唯一可惜的就是全部英文,有心人可以翻譯過來http://.hypothetic./docs/msn/index.php
msn的協議整體是比較簡單易用的,只要解決了登入的問題,其它都非常簡單.根據協議來看,應該有乙個gateway.messenger.hotmail.***:80的登入伺服器,但是我一直連線不上,
所以就和大家一樣使用messenger.hotmail.***:1863來登入了,ms為了避免這個伺服器負擔過重,在協議中需要根據具體的情況換登入伺服器,這些都需要在程式中加以考慮,我遇到了連續
登入三次給的伺服器位址以後,還要換位址的情況,看來msn登入太慢也應該就是這個原因的了.
在乙個比較關鍵的問題就是passport驗證的問題,這裡採用的是https驗證的方法,上次看msdn show的時候chris sells說還有另外的乙個辦法
不過我在這裡沒有採用.仍然是傳統的辦法
方法就是通過連線passport的nexus伺服器,然後根據nexus伺服器的響應進行passport登入,通過這樣的練習可以熟悉passport的一部分運作機制和原理,將來在自己的伺服器呼叫passport服務的時候就不用讓使用者再看到ms的影子了
程式除錯過程中得到了 蟈蟈和小馬哥的大力幫助,讓我這個dot ***門外漢不至於找不到門.
我是用managed c++進行這個開發的,在codeproject上有乙個c#的project,我做完自己的程式以後發現,我們兩個的**真的很類似,說抄襲都沒有人不信,但是我真的是自己寫的
如果你對自己進行協議層的msn開發沒有興趣,而對應用層的開發有興趣,你可以聯絡
開心或者去這裡
codeproject上的demo在這裡:http://.codeproject.***/csharp/connectingtomsn.asp
MSN登入協議
msnp15登入協議 也適用於msnp18 登入過程 命令序列 代表傳送,代表結果 1.連線ds dispatcher server 得到ns notification server 2.連線ns,進行登入 其中policy mbi key old,nonce cfznppivkoe2glnv6z3...
MSN協議中文釋義
我們可以把msn的工作機制分成兩個階段 認證階段 認證階段包括登陸到msn即時通的伺服器並且取得好友列表 即時通訊階段 即時通訊階段包括傳送 接受進入即時通訊階段的請求和傳送 接受訊息。msn即時通訊軟體的協議是基於ascii碼的協議,用其他話來講就是所有的命令都必 須是英文的!第乙個階段包括連線到...
利用SOAP協議開發web service
web service 使用xml格式為第三方應用程式提供api的一種技術 soap是簡單對像儲存協議 建立web service步驟如下 1 建立wsdl檔案,我用zend studio建的,檢視如下 下面是檢視對應的原始檔,可直接copy。getdatarequest 可以接收更多的輸入引數 g...