Profile豆浆油条BlogLists Tools Help
    October 24

    如何通信(1)

    今天的计划是让新建任务面板中的是否是未安排任务的checkbox可以和event对象互动。
     
    这个题目要求event的托拽可以影响checkbox的value,而点击checkbox,event也会产生托拽的效果。
    这我以前似乎做过,但是认为是无解的命题了,无法避免无限循环。
    还是calendar,让我看到了正确的设计。
    很简单,通过
    <attribute name="type" value="$path{'category/@value'}"/>
    可以得到是否托拽改变了category,再让onclick去改变这个值。我也想不起来为啥以前没解决了。仿佛还有lazyreplication的问题吧。
    不过,我认为其文档是有错误的,文档中说path相当于once语义。谁晓得是个always语义。
     
    客户端街面上的操作,基本上做成了(去掉重复性,给别人布置==以后),但是还没有数据通信,我考虑了一下午,一样无解。
    我规定了几个前提:
    • 用javarpc
    • 实现异步
    • 减少数据流量
    • 基于timestamp的version控制
    有三种通信方式的念头:
    • 最蠢的和最简单的就是做全文比较,几秒钟用客户端数据和服务器比较一次,可以完全地做到异步,但是如何保证用户最后的操作也被异步同步了,呵呵……
    • 纪录每一次元操作,用什么特殊语句或者对象记录一下,放入队列中,然后让队列做异步同步。这种方法如果操作与操作之间有耦合、冲突、先后性的话,那还不如第一种,再说如何记录和分析命令,也是会比较晦涩的
    • 任何元操作都产生一个rpc命令,做完就做完了,这样在网络畅通的情况下可以保证客户端和服务器的数据一致性,也不用做什么比较和分析。如果不畅通,有一个rpc没成功,那么两边就有分歧了。而且我刚刚在实践的时候,也发现,addEvent没办法简单保证立刻获得新丁的id,要么停滞下来等,要么就得不到。不过这也是可以继续研究的,说不定有方法。

    calendar源程序没有这一部分,但是做第一种的扩充是最简单的。

    以前在"麦迪快"里,我用的是1和2地结合,把我折腾半死,当然,看起来还是不错的想法,只是中间问题多多。

    烦!

    Comments (1)

    Please wait...
    Sorry, the comment you entered is too long. Please shorten it.
    You didn't enter anything. Please try again.
    Sorry, we can't add your comment right now. Please try again later.
    To add a comment, you need permission from your parent. Ask for permission
    Your parent has turned off comments.
    Sorry, we can't delete your comment right now. Please try again later.
    You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
    Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
    Complete the security check below to finish leaving your comment.
    The characters you type in the security check must match the characters in the picture or audio.

    To add a comment, sign in with your Windows Live ID (if you use Hotmail, Messenger, or Xbox LIVE, you have a Windows Live ID). Sign in


    Don't have a Windows Live ID? Sign up

    Picture of Anonymous
    就那个某些人 wrote:
    我倾向这种做法吧,至于怎么保证用户最后的操作。我觉得是不是可以当用户离开这个页的时候做最后一次同步就可以了?
    最蠢的和最简单的就是做全文比较,几秒钟用客户端数据和服务器比较一次,可以完全地做到异步,但是如何保证用户最后的操作也被异步同步了,呵呵……
    有什么可以帮忙的。
    Oct. 25

    Trackbacks

    The trackback URL for this entry is:
    http://b051.spaces.live.com/blog/cns!9E2D0BC71827D4E9!234.trak
    Weblogs that reference this entry
    • None