服务器:
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
相关资源:数据结构—成绩单生成器
转载请注明原文地址: https://win8.8miu.com/read-1481771.html