ICE之C/S通信原理

 1 /*
 2   在ICE文档中只需要声明module名称,接口名称,方法名称
 3 */
 4
 5 #ifndef SIMPLE_ICE
 6 #define SIMPLE_ICE
 7
 8 module Demo{                     //module名称
 9   interface Printer              //接口名称
10   {
11     void printString(string s);  //方法名称
12
13   };
14
15 };
16
17 #endif

s端示例:

try{
    ic = Ice.Util.initalize(ref args);
    Ice.ObjectAdapter adapter = ic.createObjectAdapterwithEndpoints("SimplePrintAdapter",
                              "default -p 10000");
    Ice.Object obj = new Printerl();  //Printerl类继承了Printer
    adapter.add(obj, ic.stringToldentity("SimplePrinter"));
    adapter.activate();
    ic.waitForShutdown();
  }catch (Exception e){
    Console.Error.WriterLine(e);
    status =1;

  }

功能:
1、创建一个对象适配器(ObjectAdapter)对象IOAdapter,并初始化之;
2、参数“SimplePrinterAdapter”:表示适配器的名字;
3、参数“default -p 10000”:表示适配器使用缺省协议(TCP/IP)在端口10000处监听到来的请求;
4、服务器配置完成;
5、为Printerl接口创建一个servant;
6、激活适配器,以使服务器开始处理来自c端的请求;
7、挂起发出调用的线程,知道服务器实现终止为止;
8、或者是通过发出一个调用关闭运行(run time)的指令来使服务器终止;

C端:
try{
  ic = Ice.Util.initialize(ref args);                                //获取远程对象代理
  Ice.ObjectPrx obj= ic.stringToProxy("SimplePrinter:default -p 10000");  //创建一个代理对象,并用通信器的stringToProxy()方法初始化之;
  PrinterPrx printer = PrinterPrxHelper.checkCast(obj);       //调用服务鉴别函数
  if(printer == NULL)
  {
    throw new ApplicationException("Invalid proxy");

    printer.printString("Hello World!!");  //成功则远程调用方法
  }catch (Exception e){
    Console.Error.WriteLine(e);
    status = 1;
  }
}

功能:
1、获取远程对象代理
2、创建一个代理对象,并用通信器的stringToProxy()方法初始化之;
3、提供参数:“SimplePrinter:default -p 10000”
4、调用服务鉴别函数,如果不成功则抛出异常信息“Invalid proxy”;成功则
远程调用方法:printer.printString("hello world";)

 

时间: 2024-10-31 17:13:55

ICE之C/S通信原理的相关文章

通信原理--曹丽娜

我认识的曹丽娜是西安电子科技大学通信工程学院的教授,国防工业出版社出版的<通信原理>(第6版)第二作者,<通信原理学习辅导与考研指导>(第6版)第一作者,工科才女,工科美女.     "认识"曹丽娜有些年头,买过张辉.曹丽娜编写的<通信原理学习辅导>(2003,西安电子科技大学出版社),张辉.曹丽娜编写的<通信原理学习辅导(考研丛书)(2003,西安电子科技大学出版社).要不是2008年10月18日国防工业出版社的王华编辑陪伴樊昌信教授和曹丽娜

通信原理-谁知到绝对码的编码方式,在线等。

问题描述 谁知到绝对码的编码方式,在线等. 求通信原理大神指导,急急急!比如相对码为1011010求绝对码.今天看了半天越看越蒙. 解决方案 http://wenku.baidu.com/link?url=Z1kuyIuM9J8LlLkHQA_BcHKJn9GvATqjFEOs0ifDeGFqFrxvxgBvg4nIhwn3_c07NzyMqmJnkXhoC9yxYiOi8yIWkRZmpXF9s3eVAtjjMAy 看其中的思考题部分

通信原理上的一些问题

问题描述 通信原理上的一些问题 散射传播有哪些种?各适用在什么频段?什么是快衰落?什么是慢衰落? 解决方案 对流层散射传播是对流层散射通信的技术基础.利用对流层散射传播机理设计的对流层散射通信系统,可以实现超视距通信,同时具有适中的通信容量.传输性能.可靠度和战场生存能力等. 突出的优点 (1)抗核爆能力强 该特点是对流层散射通信独具的,只要爆炸不伤及设备本身,传播基本不受影响.同时它也不怕太阳黑子.磁暴.极光和雷电的影响,所以,对流层散射通信能满足现代战场中通信指挥的需要. (2)通信容量大

Socket 通信原理(Android客户端和服务器以TCP&amp;amp;&amp;amp;UDP方式互通)

ZERO.前言 有关通信原理内容是在网上或百科整理得到,代码部分为本人所写,如果不当,还望指教. 一.Socket通信简介  Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是"请求-响应方式",即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据.而Socket通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端想服务器发送请求. 那

Socket套接字通信原理

Socket套接字通信原理 Tcp/IP协议关系图     Socket在哪里?  原来Socket在这里 Socket是什么呢?        Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议. TCP协议 三次握手 四次握手断开 UDP协议   问题 1.为什么握手需要3次,断开需要4

android和js之间的bridge通信原理是什么

问题描述 android和js之间的bridge通信原理是什么 android webview和js之间的bridge通信原理是什么,最近只是简单的用到github上的一个库,请大神帮忙解答下. 解决方案 不是webview 吗 解决方案二: 没怎么研究过这个问题,

HTTPS 通信原理及详细介绍_win服务器

HTTPS 通信原理 Https是基于安全目的的Http通道,其安全基础由SSL层来保证.最初由netscape公司研发,主要提供了通讯双方的身份认证和加密通信方法.现在广泛应用于互联网上安全敏感通讯. 我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取.所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议. HTTPS简介 HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块.服务端和客户端的信息传输都会通过T

Socket通信原理探讨(C++为例)

Socket通信原理探讨(C++为例)   一.网络中进程之间如何通信?      本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类: 1.消息传递(管道.FIFO.消息队列) 2.同步(互斥量.条件变量.读写锁.文件和写记录锁.信号量) 3.共享内存(匿名的和具名的) 4.远程过程调用(Solaris门和Sun RPC)      但这些都不是本文的主题!我们要讨论的是网络中进程之间如何通信?首要解决的问题是如何唯一标识一个进程,否则通信无从谈起!在本地可以通过进程PID来唯一标识

深入浅出讲解:php的socket通信原理_php技巧

对TCP/IP.UDP.Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵.那么我想问: 1.  什么是TCP/IP.UDP? 2.  Socket在哪里呢? 3.  Socket是什么呢? 4.  你会使用它们吗? 什么是TCP/IP.UDP? TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的. UDP(User Data