.net remoting实例

1.通信协议,两个基本功能,显示消息和发送消息。
 /// <summary>
    /// 服务器端回调接口
    /// </summary>
    public interface IChatCallback
    {
        /// <summary>
        /// 回调方法,显示聊天消息
        /// </summary>
        /// <param name="message"></param>
        void ShowMessage(string message);
    }

public interface IDuplexChat
    {
        void SendMessage(string message, IChatCallback callBack);
    }
2.客户端,录入消息,并使用协议发送出去。
class Program
    {
        static IDuplexChat proxy = null;
        static string message = string.Empty;

static void Main(string[] args)
        {
            RemotingConfiguration.Configure("ChatRoom.Client.exe.config", false);
            proxy  = (IDuplexChat)Activator.GetObject(typeof(IDuplexChat), "http://localhost:8080/ChatRoom/ChatRoomURL");

message = Console.ReadLine();
            SendMessage(message);
        }

private static void SendMessage(string message)
        {
            proxy.SendMessage(message, new ChatRoomCallBackHandler());

message = Console.ReadLine();
            if (message != "exit")
            {
                SendMessage(message);
            }
        }
    }
3.服务器端,客户端调用的时候有一个服务器的url,根据该统一资源标示符找到服务器的提供的基于协议的服务。那么,服务器需要实现该协议,并给客户端返回些结果什么的。
/// <summary>
    /// 实现.net remoting按引用封送的类型
    /// </summary>
    public class DuplexChatRemoting : MarshalByRefObject, IDuplexChat
    {
        public void SendMessage(string message, IChatCallback callBack)
        {
            Console.WriteLine("Invoke the method SendMessage()");

//do other......
            callBack.ShowMessage(message);
        }
    }
4.客户端、服务器和协议都有了。那么客户端随时都有可能访问服务器端,那么就需要服务器端一直运行着。因此需要一个寄宿器,让服务器端跑起来。
    class Program
    {
        static void Main(string[] args)
        {
            RemotingConfiguration.Configure("ChatRoom.ConsoleHost.exe.config", false);
            Console.WriteLine(".Net Remoting 服务已启动......");
            Console.Read();
        }
    }
5.如果想做的更好,弄个安装包,可以在任意机器上跑客户端,去访问服务器。

写的匆忙,欢迎评论!

时间: 2024-08-30 09:19:06

.net remoting实例的相关文章

初识.Net Remoting

初识.Net Remoting.Net对于远程调用提供了两种方法:Remoting和WebService.WebService现在是如火如荼优点:1.Tcp通道的Remoting速度非常快2.虽然是远程的,但是非常接近于本地调用对象3.可以做到保持对象的状态4.没有应用程序限制,可以是控制台,winform,iis,windows服务承载远程对象缺点:1.不是标准的应用,因此有平台限制(不能想Webservice那样可以跨平台,只要Webservice内部方法能够返回json或者xml数据即可)

.NET Remoting 入门实例

1.创建服务端Class:ProxyServerRemoting 1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 using Inscription.Manadal.EmrPlugIn.NetMessage; 5 using NLog; 6 using Inscription.Manadal.EmrPlugIn; 7 using System.ComponentModel; 8 using Sy

.NET Remoting原理及应用实例:

Remoting:(本文摘自百度百科) 简介: 什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方 式.从微软的产品角度来看,可以说Remoting就是DCOM的一种升级,它改善了很多功能,并极好的融合到.Net平台下.Microsoft .NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架.这也正是我们使用Remoting的原因.为什么呢?在Windows操作系统中,是将应用 程序分离为单独的进程.这个进程形成了应用程序代码和数据周围的一道边界

.NET Remoting 分布式开发实例思想(转)

实例开发 一个家用电器连锁店设有一个总部和许多分店,总部和分店以及各分店之间经常需要进行各种信息的查询(如:商品当日价目表.各店销售状况和库存信息等),对此组织机构建立分布式数据库查询系统,可实现总部和各店信息的共享,便于统一管理. 3.1 系统设计 3.1.1系统结构图 系统结构如图2所示: 图2 系统结构图 总部和各分店都配置了一台具有固定IP的服务器,其它电脑通过集线器与服务器相连,总部和各分店的服务器通过通信网络联接起来. 网管联盟www.bitsCN.com 3.1.2 系统实现步骤

.Net中Remoting通信机制简单实例

.Net中Remoting通信机制 前言: 本程序例子实现一个简单的Remoting通信案例 本程序采用语言:c# 编译工具:vs2013工程文件 编译环境:.net 4.0 程序模块: Test测试 Talker Server端 Client端 源代码工程文件下载 Test测试程序截图: Talker类: 1 public class Talker : MarshalByRefObject 2 { 3 public void Talk(string word) 4 { 5 System.Con

Quartz.NET 入门,带C#实例

概述 Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔(或天)来调度作业.它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联.整合了 Quartz.NET的应用程序可以重用来自不同事件的作业,还可以为一个事件组合多个作业. 参考 官方学习文档:http://www.quartz-scheduler.net/documentation/index.html 使用实例

DWR之入门实例(一)

DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本DWR0.6添加许多特性如:支持Dom Trees的自动配置,支持Spring(JavaScript远程调用spring bean),更好浏览器支持,还支持一个可选的commons-

(26)C#调用WebService实例和开发

转自  http://www.cnblogs.com/nianyuwen/archive/2012/05/15/2500932.html 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术.是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册. XML:(Extensible Markup

WCF分布式开发必备知识(2):.Net Remoting

.Net Remoting技术,我们可以将其看作是一种分布式处理方式.作为应用程序之间通信的一种机制,.Net Remoting与MSMQ消息队列不同,它不支持离线脱机消息,另外只适合.Net平台间程序的通信.从微软的产品角度来看,可以说Remoting就是分布式组件DCOM的一种升级,它改善了很多功能,并极好的融合到.Net平台下..NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架.这也正是我们使用Remoting的原因.为什么呢?在Windows操作系统中,