随心所欲

做个幸福的人
posts - 152, comments - 1472, trackbacks - 28, articles - 0
  博客园 :: 首页 :: 新随笔 ::  :: 订阅 订阅 :: 管理

swan本来是我的framework中的一个通讯模块。做着觉得比较有意思,就扩展开来,变成一个P2P。

已经建立了底层的通讯模块和简单的UI

当前进度:代理服务

目标:建立一种网络代理服务,代理火墙之内的用户。

我不是很清楚QQ或者MSN之类的具体是怎么做的,暂时先使用我自己的一套代理法则,叫他RPR(roy's proxy rules)。

RPR法则:

1:每个用户都同时具有Client和Server的功能,同时还具有Proxy的功能。

2:每个用户有0-n个代理。

3:每个用户有同伴的0-n个代理。

4:一个NameService。

5:一个proxy router

当前进度:测试Proxy

制作完成,局域网内部测试没问题,跟踪程序,确实也是按照预定的方式进行代理。

现在开个代理服务器,公开测试一下。

几个bug:

1:每次上线通知时MessageBox有点不好。应该做成一个不需干预的方式通知用户。

2:每次新的消息来到时,焦点的位置都是在最上边。

3:新的消息到来时,不能主动打开swan进行接受。Server同时也要订阅OnSend事件。考虑多加一个事件代理。

4:保留聊天记录。纯文本文件就可以。

5:启动连接自己的proxy。

6:去掉测试连接功能。没有必要,如果连接关闭了,Swan窗口会自己关闭。

7:代理关闭的话,同时关闭所有的由这个代理连接的Swan。就是让每个Connection都订阅ProxyListener的OnDisConnect事件。

当前进度

已经有了完整的连接拆除的实现。移动的椭圆窗口(像skype)报告信息。主窗体在最顶层。

新消息到来时提示用户,并记录信息。

 

修改计划:本地数据源

记录用户通讯记录使用xml格式(原来就是纯文本),使用WilsonXmlDb;

或者使用borland的firebird数据库。

使用firebird的embed。

 

修改计划:UI、异常

像skype类似的消息窗口,修改显示界面。

 

ok。基本完工。等待测试。

 




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 207990 U0+Qe5OTy9Y=



相关文章:

相关链接:

Google