博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Remoting示例
阅读量:5949 次
发布时间:2019-06-19

本文共 1565 字,大约阅读时间需要 5 分钟。

通过Remoting,客户端可以借助远程对象的代理对象,完成服务端的操作,下面是一个最初的demo,深入学习可以参考链接:

http://www.cnblogs.com/xia520pi/archive/2011/11/02/2233371.html

服务端:

static void Main(string[] args)        {            //在服务器端创建TcpServerChannel信道              var channel = new TcpServerChannel(8086);            //注册该信道,使之可用于远程对象。              ChannelServices.RegisterChannel(channel, true);            //用于为服务器激活的对象注册远程对象类型,(把知名的远程对象类型注册为 RemotingServices)              //第一个参数是 typeof(Hello),它指定远程对象的类型。第二个参数 Hi 是远程对象的 URI, 客户端访问远程对象时要使用这个 URI。 最后一个参数是远程对象的模式。                         RemotingConfiguration.RegisterWellKnownServiceType(typeof(Hello), "Hi", WellKnownObjectMode.SingleCall);            Console.WriteLine("Press return to exit");            Console.ReadLine();        }

客户端:

static void Main(string[] args)        {            Console.WriteLine("Press return after the server is started");            Console.ReadLine();            //在客户端创建TcpServerChannel信道              ChannelServices.RegisterChannel(new TcpClientChannel(), true);            //GetObject()它调用Remoting Services.Connect()方法以 返回远程对象的代理对象。第一个参数指定远程对象的类型。第二个参数是远程对象的URL。              Hello obj = (Hello)Activator.GetObject(typeof(Hello), "tcp://localhost:8086/Hi");            if (obj == null)            {                Console.WriteLine("could not locate server");                return;            }            for (int i = 0; i < 5; i++)            {                Console.WriteLine(obj.Greeting("Stephanie"));            }            Console.ReadLine();        }

 

转载于:https://www.cnblogs.com/sulong/p/6354393.html

你可能感兴趣的文章
cut命令用法讲解
查看>>
我的第一篇日志。
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
企业实战:mysql5.6数据库备份、恢复脚本
查看>>
RabbitMQ(消息队列)Linux安装相关问题解决
查看>>
我的友情链接
查看>>
CentOS7安装mysql
查看>>
RMB數字轉換中文
查看>>
基于rhel7.2的Zabbix平台搭建和部署(二)
查看>>
Html5本地存储和本地数据库
查看>>
我的友情链接
查看>>
JQ 循环切换DIV
查看>>
Nagios监控NetAPP NAS存储容量,Volume、Qtree
查看>>
Android Fragment实践(二)
查看>>
centos 修改主机名立即生效和重启后也生效的方法
查看>>
Windows 64 位 mysql 5.7以上版本包解压安装
查看>>
知道双字节码, 如何获取汉字 - 回复 "pinezhou" 的问题
查看>>
TClientDataSet[14]: 测试 FindFirst、FindNext、FindLast、FindPrior、Found
查看>>
CentOS 6.3中配置bond多网卡负载均衡
查看>>