简单Remoting例子(1)

it2022-05-09  24

服务器: Server  1using System.Runtime.Remoting.Channels.Tcp; 2using System.Runtime.Remoting.Channels.Http; 3 4namespace RemotingSamples  5{ 6 7    public class Server 8    { 9        public static int Main(string [] args) 10        {1112            TcpChannel chan1 = new TcpChannel(8085);13            HttpChannel chan2 = new HttpChannel(8086);1415            ChannelServices.RegisterChannel(chan1);16            ChannelServices.RegisterChannel(chan2);171819            RemotingConfiguration.RegisterWellKnownServiceType20                (21                typeof(HelloServer),22                "SayHello",23                WellKnownObjectMode.Singleton24                );25            2627            System.Console.WriteLine("Press Enter key to exit");28            System.Console.ReadLine();29            return 0;30        }3132    }33} General: 提供服务的真实类  1using System; 2using System.Collections.Generic; 3using System.Text; 4 5namespace RemotingSamples 6{ 7    public class HelloServer : MarshalByRefObject 8    { 9        public HelloServer()10        {11            Console.WriteLine("HelloServer activated");12        }13        public String HelloMethod(String name)14        {15            Console.WriteLine(16                "Server Hello.HelloMethod : {0}", name);17            return "Hi there " + name;18        }19    }20} 客户:  1 using  System;  2 using  System.Runtime.Remoting;  3 using  System.Runtime.Remoting.Channels;  4 using  System.Runtime.Remoting.Channels.Tcp;  5 using  System.Runtime.Remoting.Channels.Http;  6 using  System.IO;  7  8 namespace  RemotingSamples   9 {10    public class Client11    {12        public static void Main(string[] args)13        {14            //使用TCP通道得到远程对象15            TcpChannel chan1 = new TcpChannel();16            ChannelServices.RegisterChannel(chan1);17            HelloServer obj1 = (HelloServer)Activator.GetObject(18                typeof(RemotingSamples.HelloServer),19                "tcp://localhost:8085/SayHello");20            if (obj1 == null)21            {22                System.Console.WriteLine(23                    "Could not locate TCP server");24            }25            //使用HTTP通道得到远程对象26            HttpChannel chan2 = new HttpChannel();27            ChannelServices.RegisterChannel(chan2);28            HelloServer obj2 = (HelloServer)Activator.GetObject(29                typeof(RemotingSamples.HelloServer),30                "http://localhost:8086/SayHello");31            if (obj2 == null)32            {33                System.Console.WriteLine(34                    "Could not locate HTTP server");35            }3637            Console.WriteLine(38                "Client1 TCP HelloMethod {0}",39                obj1.HelloMethod("Caveman1"));40            Console.WriteLine(41                "Client2 HTTP HelloMethod {0}",42                obj2.HelloMethod("Caveman2"));43            Console.ReadLine();44        }45/**//*46            RemotingConfiguration.Configure(@"C:\Documents and Settings\RenMin\桌面\Remoting\Demo\02-SimpleRemoting\Client\client.exe.config");47            HelloServer obj2 = new HelloServer();48*/49    }50} 51

转载于:https://www.cnblogs.com/nanshouyong326/archive/2006/11/26/573262.html

相关资源:数据结构—成绩单生成器

最新回复(0)