作为爱好的业余作品,最大的好处就是没有硬性的需求和进度的限制。所以这一部分,实际上属于闭门造车,各位看官不必太过认真。不过如
果你有什么意见建议,如果能不吝赐教,那我也很感兴趣。
您有什么建议或有什么需求想让我实现,我会尽量加入。 同时,由于本人上有80(不到)老母,下有小娃嗷嗷待哺。所以,超出我能力,精力的东西,可能很晚或干脆不能做到。抱歉抱歉。
试图解决的问题:
任务一: 服务器的问题
由于QQ的流行,导致网络上即时通讯软件一堆一堆的。实际上,IM软件终端相对门槛低,简单的说,个人认为QQ能成功,主要是他够早。对于这样的软件,有一个共同的技术问题,这样的软件都需要一个服务器,不然,这些软件实际上就只能在局域网玩玩。不然,别人怎么知道你的IP地址是什么?
然而,作为穷人,当然不可能拥有一个哪怕很弱的服务器。就是每天都开着家里的电脑也觉得不环保(费电)。
任务二: 防火墙
这个问题,做VoIP终端的同学可能有深刻的体会。你不是想和电信部门抢生意吗? 掐掉TCP:1025,UDP:5060 看你还怎么玩。象pplive什么的呢?你如果去搜下FPM, PPlive就会发现,好像也有问题。
所以这里的需求是:
1. 端口可变,最好用80;
2. 长度可变,内容无明显模式;
任务三: 信息发布
21世纪什么最贵? 不知道, 不过我知道眼球很贵. 再好的产品, 没有推广。一个很好的例子,比方说,脑白金是治理脑残的良药,如果没有宣
传,别人怎么会知道呢? 你看国外,人家就只知道"褪黑素"。
任务四: NAT穿透,局域网的问题
传统的NAT穿透方法已经很多了。比方说,UPNP, STUN, Proxy什么的,还有什么问题呢?问题就是,方法太多就是因为没有一个最完美的方法彻底解决这个问题。这里,我试图彻底解决这个问题。你可以随便看看我以后的实现部分,然后提出你的宝贵意见。
任务五: 网络传输的问题
SCTP over UDP
打洞解决NAT问题,需要使用UDP;
视频数据因为压缩,需要可靠;
需要流量控制;
需要拥赛控制;
==>
使用SCTP;
目前没有合适的轻量级的SCTP-Lib适合这个应用,所以本软件需要一个SCTP-Lib的实现。
问题六: 界面
不能只有console界面, 太土了。用GUI, 必须的。