首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

用 C# 實作飛信協定

     編輯:關於C語言

目前已經有 C# 版的飛信 SDK,功能很強大,但佔用資源也很多。由於現在開源的 SDK 是透過反編譯飛信而編寫的,所以其所佔用的記憶體在 30MB 左右,檔案也比較大,在程式中使用很不方便,尤其是在 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 下載中注意該 DLL 經過了加密。

下面說說我實現該程式時遇到的難點,第一個就是編碼的問題,最後我發現該協定中應用的都是 UTF-8 編碼,另外一個要注意的地方是協定中長度資訊,指的是用 UTF-8 編碼後 byte 的數目。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved