急!!无服务端模型的架构,只用客户端,实现全面的通信,大家有什么好的思路没?
大二了,软件专业,想自主创业,
最近在做一通讯软件,类似QQ那样的即时通,再整合其它一些更强大的功能,
辅助电脑的维护,文件的共享、管理等等。。。
但在初期,不可能买得起服务器,我当前的做法是这样的:
客户端:Client Socket + Server Socket + Proxy Socket
服务端:用ASP 读取数据库, 实现帐号登入、提供Socket连接的IP Port信息、在线列表的维护等。
原理:1、在数据库信息这块,客户取网站空间的数据,用Idhttp 与ASP的通信实现;
2、在客户端与客户端的连接、通信这块采用TCP 、UDP这两种协议。每个客户端开启了一个代理Socket,若A客户端是内网,则通过外网的B客户端代理辅助进行通信。(Server Socket 、Proxy Socket这块用IOCP实现 )先UDP打洞,若不行再用B客户端进行数据转发。
当然必要时,通过代理商的方式,设置专门的外网代理;
以后条件允许了,数据库用 服务端+MSSQL 实现;
一开始,也就小打小闹,把软件的大体框架实现,并试着在网络上运行,看看效益怎么样。
要求当前这种无服务端的做法,至少也得同时承载得起1000个客户端吧。
主要就是客户端与ASP的通信这块,客户端频繁的访问ASP网页,ASP服务器得承载大量的数据读写(在线信息等),不知道这种方式,能承载得起多少客户端。
注:我是用delphi语言来编写客户端的。
在此,请各位朋友帮忙参考参考,这样做能承载得起多少。大家有什么更好的思路没? 特期待有做程序压力测试朋友给予些意见,先谢谢大家了。。
[解决办法]
服务端只是用于P2P大洞,应该还可以承受比较大的客户端数量吧
[解决办法]
这样的软件很多了啊。像飞鸽传书,飞秋,懒QQ。不过都是用于局域网的。