首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 网络编程-> Shell教程
使用C#编写Ice应用程序-.NET教程,C#语言
作者:网友供稿 点击:259
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
ice是一种优秀的分布式网络中间件,比起corba好上许多,也更简洁。优点我在这里也不便多说了,有专文介绍,也不是今天的主题。有兴趣的可以查一下,《程序员》杂志好像有专题。
下面主要介绍一下怎样使用c#编写基于ice的网络应用程序。
环境:windows server 2003 enterprise, visual studio.net 2003(.net framework 1.1)
先到http://www.zeroc.com/download.html下载ice的安装包,windows下用msi的。为方便起见,我下载的是vs.net2003的专用包。如下:


注意:ice-1.5.1-vc71.msi 安装包是必需的。 安装完毕后,将安装目录下的bin目录加入环境变量的path路径,然后就可以在vs.net中开发ice应用了。

首先,我们编写一个slice定义文件(相当于corba里面的idl文件)。文件内容很简单,因为我们要从一个“hello world”程序开始。
命名为printer.ice:
interface printer
{
void printstring(string s);
};
用下面的命令编译:slice2cs.exe printer.ice(如果找不到命令,表示环境变量没有设置成功,可以使用bin目录的全路径)
这条命令会在当前目录下产生printer.cs文件:


恭喜你,初战告捷!继续加油!
我用vs.net建了一个空的解决方案icetest,然后添加了一个空的项目icetest,加入printer.cs文件,最后建立server.cs文件(不用说你也猜到了,现在是编写服务端)。文件目录如下:



在server.cs中添加如下代码:

using system;

namespace icetest
{
/**//// <summary>
/// summary description for server.
/// </summary>
public class server
{
public server()
{
//
// todo: add constructor logic here
//
}

public static void main(string[] args)
{
int status = 0;
ice.communicator ic = null;
try
{
ic = ice.util.initialize(ref args);
ice.objectadapter adapter
= ic.createobjectadapterwithendpoints(
"simpleprinteradapter", "default -p 10000");
ice.object obj = new printeri();
adapter.add(
obj,
ice.util.stringtoidentity("simpleprinter"));
adapter.activate();
ic.waitforshutdown();
}
catch (exception e)
{
console.error.writeline(e);
status = 1;
}
finally
{
if (ic != null)
ic.destroy();
}
environment.exit(status);
}
}

public class printeri : _printerdisp
{
public override void printstring(string s, ice.current current)
{
console.writeline(s);
}
}
}
前面的代码都是例行公事,public class printeri : _printerdisp的代码才是我们需要的(简单吧!)
按照同样的方法,我们建立iceclienttest项目,先添加printer.cs文件,然后编写cient.cs文件,具体内容如下:

using system;

namespace iceclienttest
{
/**//// <summary>
/// summary description for client.
/// </summary>
public class client
{
public client()
{
//
// todo: add constructor logic here
//
}

public static void main(string[] args)
{
int status = 0;
ice.communicator ic = null;
try
{
ic = ice.util.initialize(ref args);
ice.objectprx obj = ic.stringtoproxy(
"simpleprinter:default -p 10000");
printerprx printer
= printerprxhelper.checkedcast(obj);
if (printer == null)
throw new applicationexception("invalid proxy");
printer.printstring("hello world!");
}
catch (exception e)
{
console.error.writeline(e);
status = 1;
}
finally
{
if (ic != null)
ic.destroy();
}
environment.exit(status);
}
}
}


同样,里面大部分都是例行公事,只有printer.printstring("hello world!");一句才是关键。
现在我们可以build解决方案了,成功后便产生了icetest.exe 和iceclienttest.exe 文件。如果没有成功,记得在项目中添加引用,加入icecs.dll(也在安装的bin目录下)。
应该可以了,下面看看运行结果:


运行结果很简单,就是服务端输出客户端输入的“hello world”字符串。比corba简单吧?
最后贴出服务端的uml图,客户端的类似就不贴了。


以上是我参考《distributed programming with ice》(官方网站可以下载,是ice软件包的官方文档)一书做的练习,内容很简单,请大家指教!



文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·jsp设置页面过期-JSP教程,Jsp/Servlet
·用SqlDataAdapter更新数据库的方法介绍-.NET教程,数据库应用
·用java关闭IE窗口-JSP教程,Java技巧及代码
·ADO.NET 2.0 Feature Matrix-ASP教程,ASP应用
·Jsp & Servlet 会话控制-JSP教程,Jsp/Servlet
·xmlhttp 乱码 的解决方法 (UTF8,GB2312 编码 解码)-ASP教程,XML相关
·使用C#编写Ice应用程序-.NET教程,C#语言
·用PHP实现WEB动态网页静态-PHP教程,PHP应用
·DataGrid基于Access的快速分页法-.NET教程,数据库应用
·HTML文档中小meta的大作用-ASP教程,XML相关
最新文章
·photoshop打造数码照片“像素块”特效_photoshop教程
·css中如何正确的使用id和class_css教程
·保证让新手轻松月挣500以上_网赚技巧
·记住10个关键词让你作一名成功的站长_站长心得
·对新人站长得一些善意得提醒_站长心得
·在windows vista中安装telnet客户端_windows vista
·怎样提高你的google adsense收入_站长心得
·googleadsense新手指南及常见问题整理_google推广
·高网站访问量的必胜之道:访google adwords经理(上)_google推广
·成功经验谈:运营blog的21个具体方法_网络编辑
相关主题
  • 使用C#编写扩展存储过程-.NET教程,C#语言
  • 使用C#编写LED样式时钟控件-.NET教程,C#语言
  • 使用C#编写的一个定时关机程序-.NET教程,C#语言
  • 使用C#编写一个计时器-.NET教程,C#语言
  • 使用C#编程将websphere MQ 5.3 windows客户端消息发送到linux服务器端-.NET教程,C#语言
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭