`
hanjiangit
  • 浏览: 187851 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

为什么选择SICS 4/6

    博客分类:
  • SICS
阅读更多

7)实用的服务:LightRpc

如果单纯的推荐SICS框架本身,那么肯定大家会觉得很勉强:即使SICS的框架再好,如果一切从头开始,那还不如使用现有的资源更合适!

还好,SICS既然是为工程实践服务的,那么多少也会积累一些可以利用的资源,这些应该可以算上SICS奉上的甜点.在这类资源中,最关键的一个--也是最成功的一个--是LightRpc(轻型远程过程访问和对象服务)。

要明确的说明LightRpc到底是什么的确比较难,这里我只打算通过一个例子可以给一些概念性的认识。

 

//定义一个接口:银行,它可以发卡

//继承:远程对象声明接口

public interface Bank extends SysRemote

{

//为一个指定用户发一张卡

public Card createCard(String userName) throws Exception;

}

 

//银行卡,继承远程对象声明接口

public interface Card extends SysRemote

{

// 取得卡上的余额

public float getBalance() throws Exception;

 

//存钱:金额

public void checkin(float howmucn) throws Exception;

 

//向另一个卡上转帐:对方用户名,金额

public fload payoff(String targetName, float howmuch) throws Exception;

 

//增加一个监听器:谁动了我的奶酪?

public void addListener(CardListener listener) throws Exception;

 

//删除监听器:谁爱动谁动吧,反正卡上没钱!

public void removeListener(CardListener listener) throws Exception;
}

 

//卡的监听器,继承远程回调接口

public interface CardListener extends SysCallback

{

//事件:当卡上有什么事情发生时触发.

//注意:监听器也要抛出异常,因为它是远程监听器!

public void onCardStatus(Card card) throws Excetpion;

}

 

//就这个例子,大家考虑一下现有的服务器有哪个可以做到下面的样子:

public class Main

{

public static void main(String[] args) throws Exception

{

    RpcClientContorl control = new RpcControl(); //创建一个客户端控制器

    //创建一个到服务器的链路,地址,端口,采用SSL链路

    RpcClientAccess access = control.createAccess("192.168.18.22", 7728, true);

    RpcClient client = access.createClient(null); //创建一个客户端,包括建立一个新的会话

 

    Bank bank = (Bank)client.lookup("Bank"); //查找银行对象

    Card card = bank.createCard("QYD"); //创建一个卡:要是银行是自己开的就好啦

    MyListener listener = new MyListener(); //创建一个监听器,准备监听卡的事件

    card.addListener(listener); //注册远程事件监听器

    Thread.sleep(1000 * 60 * 3); //等待别人给自己汇款哈

    card.removeListener(listener); //删除远程事件监听器

 

    client.close();  //关闭客户端

    access.close(); //关闭通讯链路
}

//内部类:卡的监听器

private static class MyListener implements CardListener

{

    public void onCardStatus(Card card) throws Exception

    {

        System.out.println("card balance=" + card.getBalance());

    }

}

}

 

服务器端的实现我就不写了,反正后面的LightRpc专题中还会讲到。

反正就目前的命题来说,我可以很肯定的告诉大家,除了SICS的LightRpc服务,能实现这样的编程方式的远程对象服务器还没在市面上出现!

分享到:
评论

相关推荐

    HP DL380 G4服务器安装阵列及系统详解

    因此,需要使用热插拔SICS接口硬盘和SmartStart光盘来引导安装系统。 首先,需要进入阵列卡的配置程序,按F8键进入阵列卡的配置程序。在这里,我们可以看到机器阵列卡的配置程序有四个初始选项:Create Logical ...

    MC55 TCP 使用方法

    1. 设置连接平台SICS,选择GPRS或CSD。 2. 设置应用平台SISS,选择SOCKET、FTP、HTTP、POP或SMTP。 3. 建立TCP连接SISO。 4. 发送或接收数据SISW或SISR。 5. 关闭连接SISC。 例如,以下是一段MC55模块TCP测试的示例...

    mc55拨号上网步骤

    首先,通过AT指令`AT^SICS=0,conType,GPRS0`来设定连接类型为GPRS模式。这一步是告诉模块我们将使用GPRS网络进行数据传输。 2. **设置用户信息** 在中国移动的网络下,用户名称和密码通常是不必要的,因此可以...

    服务器测试软件SocketTool[借鉴].pdf

    4. **扩展AT命令**: 文档中提到了一系列的AT命令,这些是GSM模块或调制解调器的控制命令。例如,`AT+CSQ`用来查询信号质量,`AT^SICS`用于设置网络连接参数,如接入点名称(APN)等。`AT^SISS`用于设置服务器类型和...

    MC55 TCP/IP使用方法

    6. **AT^SICS**:关闭Internet服务,断开与远程服务器的连接。 这些指令构成了MC55网络功能的核心,熟练掌握它们是实现高效数据传输的关键。 #### 六、总结 综上所述,MC55 TCP/IP协议栈为工业客户提供了强大的...

    HP服务器安装指南[整理].pdf

    硬盘使用的是热插拔SICS接口设计,通过前面板的卡槽连接。 安装过程中,首先需创建阵列。在服务器启动时,当屏幕显示特定信息时,按下F8键进入阵列卡配置程序。该程序提供四个主要选项:创建逻辑驱动器、查看逻辑...

    mc55 at命令调试笔记

    `AT+CMGF=<模式>`,其中`<模式>`为1表示文本模式。这是大多数情况下的选择。 - 接着,设置短信服务中心号码,使用`AT+CSCA="<服务中心号码>"`。 - 在文本模式下,发送短信的命令是`AT+CMGS="<接收方号码>"`,当...

    LwIP移植说明文档

    LwIP是一个轻量级的TCP/IP协议栈,最初由瑞典SICS计算机网络实验室的Adam Dunkels开发。其核心设计目标在于减少运行时所需的RAM空间,同时提供完整的TCP功能,这使其非常适合于资源受限的嵌入式系统。LwIP支持多种...

    梅特勒托利多电子秤完整版说明IND131-331技术手册20090706.pdf

    梅特勒托利多电子秤是一款专为工业称重需求设计的高精度电子秤,型号为IND131/331,它通过模块化设计和多样化的结构尺寸,能够适应各种不同的工业环境,并提供精确的称重解决方案。该设备支持多种传感器灵敏度,具备...

    H3C MSR 50系列路由器 安装手册

    其模块化设计允许用户根据具体需求选择不同的接口卡和模块,如FICs(Flexible Interface Cards)、SICs(Smart Interface Cards)、MSCA(Multi-Service Card A)、ESMs(Enhanced Service Modules)、VPM(Voice ...

    AT Command(中文精简版)

    若选择ASC1串口,在系统启动时会收到`^SYSSTART`指令,指示模块已启动;而ASC0则需通过VDD供电状态判断模块启动情况,随后发送`AT`指令协商波特率,等待3-5秒确认后,模块会回复`OK`,此时可通过`AT+IPR`设置波特率...

    3M0-300认证题库

    该路由器使用MIMs(Modular Interface Modules),而非SICs(Simple Interface Cards)或同时使用SICs和FICs。这表明在设计上,Router5232更侧重于提供高度可扩展和可定制的接口模块,以适应不同的网络连接需求。 #...

    Oracle RAC集群在Windows2003环境下的实现.pdf

    1. 硬件设备与网络准备:确保两台服务器通过SICS卡连接到SICS硬盘,并配置两块网卡,分别用于私有网络(Interconnect)和公共网络(Public Network)通信。 2. Windows 2003环境准备:修改服务器的计算机名、管理员...

    Contiki Manual Reference

    - **开发者**:该系统由瑞典计算机科学研究所(SICS)网络嵌入式系统组的 Adam Dunkels 开发。 - **目标平台**:Contiki 主要面向内存非常有限的嵌入式系统,例如只有 2KB RAM 和 40KB ROM 的设备。 - **架构特点**...

    sicstus prolog

    SICStus Prolog是一种功能强大的逻辑编程语言和环境,由瑞典计算机科学研究院(SICS)开发和维护。它基于Prolog语言,旨在为研究人员、教育工作者以及工业领域的专业人士提供一个高效且灵活的平台。SICStus Prolog...

    台湾雅芳公司管理策略报告.pptx

    在1998年至2000年间,台湾雅芳顾客服务中心逐步建成,采用了高荷重、捷运钢材质的建筑结构,以及现代化的WIMS和SICS系统,确保物流作业的高效运行。 WIMS是一种仓库库存管理系统,通过将传统的人工仓储作业转变为...

    托利多IND780使用操作手册

    - **选择秤**:根据需要选择不同的秤台。 - **清零**:清除秤上的物品重量。 - **去皮**:去除容器本身的重量。 - **单位切换**:支持不同重量单位之间的转换。 - **10倍扩展**:扩大显示范围,提高读数准确性。 - *...

Global site tag (gtag.js) - Google Analytics