用C#实现飞信协议

     目前已经有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

你可能感兴趣的:(C#)