通过Socket在公网上实现.NET Remoting回调

业务背景:

         服务器在公网(WAN),客户端在企业内网(LAN).

问题描述:
        Remoting可以执行方法,属性,但无法实现事件的回调.

解决方案:

       服务器端远程对象触发事件,并将事件附加到事件发布机上,有事件发布机通过Socket发送到 客户端的事件订阅机.由事件订阅机触发远程对象中介类的对应事件,实现远程对象的回调.

       在VS2005,win2003服务器(公网),xp(内网)通过测试,实现远程对象回调.
        概述:采取Remoting与Socket相结合的方式.Socket用于实现事件的回调.为了实现的事件的回调需要实现的几个关键步骤,以及结构图
Communication命名空间
 CommunicationBase.cs            Socket通信基类
 CommunicationClient.cs          Socket通信客户端
 CommunicationClientMachine.cs   客户端Socket通信机
 CommunicationCollection.cs      客户端Socket通信器集合
 CommunicationServer.cs          Socket通信服务器
 Delegate.cs                     Scoket通信事件委托申明
RemotingEventModule命名空间
 RemotingDelegate.cs             分布式事件委托
 RemotingEventArgs.cs            事件数据包
 RemotingInterface.cs            远程对象基类接口
 RemotingInvoke.cs               远程对象中介基类
EventMachine命名空间
 PublishEventMachine.cs          服务器事件发布机基类
 PublishMachine.cs               服务器事件发布机
 SubscribeEventMachine.cs        客户端事件接收机基类
 SubscribeMachine.cs             客户端事件接收机

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值