zoukankan      html  css  js  c++  java
  • InChatter系统之客户端实现原理与阶段小结

    InChatter客户端的开发可以说是目前系统的阶段性结尾了。很抱歉的是,这篇文章来的这么晚,迟到了这么久。

    在客户端的开发主要针对两个方面:

    1.    消息的传输与处理
    2.   消息的UI交互处理

    一、消息的传输与处理

    消息的传输示意图如下:

    所有的消息的接受将首先通过事件发送到消息池,消息池接受消息做进一步处理。如果消息是发送给当前交互对象(系统消息或正在聊天的目标),消息将直接转发给交互窗体进行显示;否则,将弹出消息提示窗体,告知用户消息的到达。在此基础上,对于未读消息和离线消息也进行了对应的处理,这也是在上一节之后,系统的诸多变更之初,具体可参见源码部分。

    理解了消息交互的整个流程,我们便可以更好的把握客户端部分的基础思路,因为目前的交互设计只是很简单和单调的一种,同样也由于本人水平有限,目前未想到更好的架构和思路,能够帮助使用者轻松解决客户端的UI交互部分的问题。

    二、UI交互部分

    (1)消息控件的界面显示部分

           

     

       

     

     

     

     

    (2)消息交互主窗体包括系统消息和即时通信消息

            

     

       

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    (3)消息池部分。所有的消息的接受将首先通过事件发送到消息池,消息池接受消息做进一步处理。(消息池体现在消息提醒部分)

       

     

     

     

     

     

     

     

     

     

    这里提供的只是一种方式,更多的表现形式还是看用户自己的系统要求和UI交互规范,所以客户端更多的是需要用户自己重新定制开发,我也会尽力在未来解决这个问题,哪怕提供更多的交互方式,目前仅支持WPF客户端,WinForm客户端敬请期待

    三、小结

    这是我的第一个开源项目,从去年接触到开源社区就一直心神向往,只是一直未找到合适的方向。最近由于工作需要,涉及到这样的一个项目,就拿出来跟大家分享下。

    针对与Inchatter的客户端开发可以算是一个小的终结,是基础版本的终结,但却也是新的开始。在以后的开发将针对使用中的体验以及bug进行修正,同时不断的融入新的功能,所以现在更可以说是开发,像一个产品一样的开始。在此,欢迎大家就体验和功能以及bug和未来的功能进行讨论并提出宝贵意见。最大的希望能够在项目开发中能够帮到朋友们。

    由于最初没有一个好的功能模型,所以一直是我自己在开发和维护。现在基础功能已初具雏形,欢迎喜欢开源、热爱开源的朋友一起为开源贡献自己的力量。有希望一起维护本项目的,也可以和我联系。

     

    最后是分享下我的格言:开源、创新、博学、奉献。

    期待在路上遇见你,一起为开源社区贡献我们的力量。

     

  • 相关阅读:
    资源 | TensorFlow推出新工具Seedbank:即刻使用的预训练模型库【转】
    Vim 基本設置 – 使用Vim-plug管理插件 (3)【转】
    Linux kernel 编译问题记录【转】
    深度学习(四)卷积神经网络入门学习(1)【转】
    深度学习:Keras入门(二)之卷积神经网络(CNN)【转】
    深度学习:Keras入门(一)之基础篇【转】
    CNN笔记:通俗理解卷积神经网络【转】
    [Deep Learning] 神经网络基础【转】
    一文弄懂神经网络中的反向传播法——BackPropagation【转】
    Testin
  • 原文地址:https://www.cnblogs.com/wpfworld/p/3489834.html
Copyright © 2011-2022 走看看