zoukankan      html  css  js  c++  java
  • Remoting配置记录

    1.适用范围:
    .Net平台下服务器数据通信,支持多信道如:http,tcp,icp,自定义信道
    http:默认情况下80端口未被防火墙通过。
    tcp:必须配置防火墙,在内部网中使用更加有效。
    IPc:最适合在单个系统上进行跨进程的通信,使用WINDOWS跨进程通信机制,速度最快。

    2.简单Remoting服务器配置
    TcpServerChannel tcp =new TcpServerChannel(8086);;
    HttpServerChannel Http=new HttpServerChannel(8087) ;
    IpcServerChannel Ipc =new IpcServerChannel("icpServer");
    ChannelServices.RegisterChannel(tcp, false);
    ChannelServices.RegisterChannel(Http, false);
    ChannelServices.RegisterChannel(Ipc, false);
    //注:rc.Hello为一个类型:加上[Serializable] 并继承MarshalByRefObjectSingleCall:不保存客户对象,使用完即删除
    Singleton:服务器的所有客户共享对象
    RemotingConfiguration.RegisterWellKnownServiceType(typeof(rc.Hello), "hi", WellKnownObjectMode.SingleCall);

    3.客户端调用
    ChannelServices.RegisterChannel(new TcpClientChannel(), false);
    rc.Hello hello = (rc.Hello)RemotingServices.Connect(typeof(rc.Hello), "tcp://192.168.1.12:8086/hi");


    4.使用配置文件配置 remoting.config
    rc.Hello表示类名,rc表示引用的dll名称
    一。已知对象服务器端
    1)

    <configuration>
      
    <system.runtime.remoting>
        
    <application name="Hello">
          
    <service>
            
    <wellknown mode="SingleCall" type="rc.Hello,rc" objectUri="hi">          
            
    </wellknown>
          
    </service>
          
    <channels>
            
    <channel ref="tcp" port="8086" displayName="Tcp通道"></channel>
            
    <channel ref="http" port="8087" displayName="http通道"></channel>
            
    <channel ref="ipc" portName="8086" displayName="ipc通道"></channel>
          
    </channels>
        
    </application>
      
    </system.runtime.remoting>
    </configuration>

    将上述文件保存为remoting.config
    服务器端执行
    RemotingConfiguration.Configure("Remoting.config"文件路径,false);

    2)已知对象客户端

    <configuration>
      
    <system.runtime.remoting>
        
    <application name="Client">
          
    <service>
            
    <client displayName="Hello client">
            
    <wellknown type="rc.Hello,rc" url="tcp://192.168.1.12:8086/hi" />
                
    </client>
            
    </wellknown>
          
    </service>
          
    <channels>
            
    <channel ref="tcp" displayName="Tcp通道"></channel>
          
    </channels>
        
    </application>
      
    </system.runtime.remoting>
    </configuration>

    客户端执行
    RemotingConfiguration.Configure("Remoting.config"文件路径,false);
    二。客户激活的对象的服务器配置
    1)服务器端

    代码
    <configuration>
      
    <system.runtime.remoting>
        
    <application name="Hello">
          
    <service>
          
    <activated type="rc.Hello,rc" />
          
    </service>
          
    <channels>
            
    <channel ref="tcp" port="8086" displayName="Tcp通道"></channel>
            
    <channel ref="http" port="8087" displayName="http通道"></channel>
            
    <channel ref="ipc" portName="8086" displayName="ipc通道"></channel>
          
    </channels>
        
    </application>
      
    </system.runtime.remoting>
    </configuration>

    2)客户端

    代码
    <configuration>
      
    <system.runtime.remoting>
        
    <application name="Client">
          
    <service>
            
    <client displayName="Hello client" url="http://192.168.1.12:8087/hi">
                
    </client>
            
    </wellknown>
          
    </service>
          
    <channels>
            
    <channel ref="http" displayName="http通道"></channel>
          
    </channels>
        
    </application>
      
    </system.runtime.remoting>
    </configuration>


  • 相关阅读:
    设计模式(一)工厂模式Factory(创建型)
    Caused by: org.springframework.beans.factory.BeanCreationException
    从Delphi 7升级到Delphi XE
    system strategies of Resources Deadlock
    Service Manager流程,派BC_REPLY,唤醒FregServer流程,返回BR_TRANSACTION_COMPLETE,睡眠等待proc-&gt;wait
    Sqlserver2000联系Oracle11G数据库进行实时数据的同步
    火柴移动面试题
    Eclipse4.4设备egit插件提交本地项目代码到远程仓库
    V离MWare至Openstack至FDIO
    【BZOJ1791】【IOI2008】【基环树】island(status第一速度)
  • 原文地址:https://www.cnblogs.com/qingyi/p/1651418.html
Copyright © 2011-2022 走看看