目前已經有C#版得飛信sdk,功能很強大,佔用得資源也很多。由於現在開源得SDK是通過反編譯飛信而編寫的,所以其所佔用得記憶體在30M左右,檔案也比較大,在程式中使用很不方便,尤其是在asp.net中。
看到網上有幾個開源得飛信了,有php的,也有python的,還有人用java寫了一個,不過不開源,也有在網站上提供api。最近google得gae比較火,也有人在gae上提供一個飛信的api,可惜不開源。另外還有人提供了一個delphi版本的飛信,也是開源的。還不得不提得就是用c++些寫的libfetion,可以不但不開源,windows下的庫也不提供,我到linux下也沒build成功,肯能是因為我太菜了。
既然別人能用php或python實現,那我也能用C++或C#實現了,所以我就試著用c++實現,不過自己太菜,c++學得不好,所以一直沒有實現出來。後來想想用C#是不是很簡單呢?所以就用開始著手考慮用C#實現,首先我想參照python寫的那個程式來實現,最後發現實現起來非常費勁,所以就拉到了,不過自己一直想自己實現了。
這次五一正好忙裡偷閒,實現了一個,現在暫時實現了登陸和登出,以及傳送簡訊的功能。由於上次自己好不容易寫了一個東西,結果一堆人跑來說這不行,那不行的,我就鬱悶了,所以這次打算先不開源了,看大家的反應,如果反應好的話,我會考慮開源的。
在此申明一下,本程式僅供學習和研究使用,切勿用於非法用途,使用此程式產生的一切法律後果與本人無關。本人主要是參考php編寫的飛信中的飛信協議,未對飛信的原有協議做任何更改。
下面簡單說一下該dll的使用,首先using com.dlut.ssdut.zucky.DotNetFetion;,然後Fetion fetion = new Fetion("手機號", "飛信密碼");fetion.Login();fetion.SendSMSToPhone("要發送給得手機號", "要發送的資訊。");fetion.Logout();
dll如下:http://files.cnblogs.com/zucky/DotNetFetion_Secure.rar,注意該dll經過了加密。
下面說說我實現該程式的時候遇到的痛點,第一個就是編碼的問題,最後我發現在該協議中應用的都是UTF-8編碼,另外一個要注意的地方是協議中長度資訊,指得是用utf-8編碼後byte的數目。
轉載請註明出處,此文原始地址:http://www.cnblogs.com/zucky/archive/2009/05/02/1447884.html