zoukankan      html  css  js  c++  java
  • LiteORM学习七:远程对象访问Socket篇

    一、摘要

           在上篇我们已经讲了远程访问对象,现在我们来看看他的内部是怎么实现的,本次远程对象访问用Socket实现。

    二、本文大纲

           a、摘要。

           b、本文大纲。

           c、回顾。

           d、Socket设计。

           e、其他。

    三、回顾

    1:在上篇LiteORM学习六:远程对象中我们说到在实体类上加入DataEntity就可以在网络中访问了,那具体是有什么技术呢,有那几种实现方式.WebSerivce,wcf,socket,Remoting

    2:在上篇LiteORM学习六:远程对象中我们只说到了如何使用远程对象。

    四、Socket设计

       在OHA中使用了SOCKET技术进行远程访问业务对象的方法。

    1:在上篇中我们说到在实体类上加入DataEntity就可以在网络中访问了,在客户端和服务器端都有一个SocketPortal 这里面包含了远程访问的方法和属性。

    2:  在OHA中也和Csla一样使用固定方法和扩展方法,两种方式实现 如图

    image

    使用了固定的几个事件,他们分别是 DataPortal_Create DataPortal_Fetch DataPortal_Insert  DataPortal_Update DataPortal_Delete 我们还提供了

    image 扩展接口,使用者可以实现这个接口就可以自定义事件。

    3:Socket设计图

    image

    大家看到了在客户端和服务器端都有一个Socket数据门户,这个主要使用Socket来作为远程对象的访问。

    在服务器端:直接启动Socket数据门户就是可以了,默认情况下使用本机做为服务器,目前还没有实现指定IP来作为服务器

    image

    Socket主要做两件事情,一个负责连接管理,一个是负责业务处理。

    image

    server_OnAcceptClient 事件负责连接管理

    server_OnReceiveData 事件负责业务处理

    五、其他

       在OHA中使用了SOCKET技术进行远程访问业务对象的方法。

      1:加入日志。

      2:分布式部署,多服务器部署方案。

      3:可以随意指定一台电脑作为服务器。

      4:使用者可以自己扩展。

      5:加强设计模式学习,这个是对我自己说的。需要深入系统的学习Socket以完善这个设计。

      6:希望高手们多提提意见哦。

  • 相关阅读:
    .Net中的设计模式——Decorator模式
    PetShop的系统架构设计
    PetShop数据访问层之消息处理
    对象的封装与C#的类
    Flash/Flex学习笔记(46):正向运动学
    Flash/Flex学习笔记(43):动量守恒与能量守恒
    win7下恢复“经典任务栏”/“快速启动栏”,关闭“窗口自动最大化”
    Flash/Flex学习笔记(50):3D线条与填充
    图片的javascript延时加载
    Flash/Flex学习笔记(51):3维旋转与透视变换(PerspectiveProjection)
  • 原文地址:https://www.cnblogs.com/luomingui/p/2346345.html
Copyright © 2011-2022 走看看