You've already forked linux-packaging-mono
							
							
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using System.Threading;
 | |
| using System.Runtime.InteropServices;
 | |
| using System.Runtime.Remoting;
 | |
| using System.Runtime.Remoting.Messaging;
 | |
| using System.Runtime.Remoting.Proxies;
 | |
| using System.Runtime.Remoting.Channels;
 | |
| using System.Runtime.Remoting.Channels.Simple;
 | |
| using System.IO;
 | |
| 
 | |
| 
 | |
| // compile with:
 | |
| // csc -r:../../lib/System.Runtime.Remoting.dll simple-example.cs
 | |
| 
 | |
| class Test : MarshalByRefObject {
 | |
| 
 | |
| 	public int test_function (int a, bool b)
 | |
| 	{
 | |
| 		Console.WriteLine ("test function called: " + b);
 | |
| 		return a + 1;
 | |
| 	}
 | |
| 	
 | |
| 	static int Main () {
 | |
| 
 | |
| 		Test t1 = new Test ();
 | |
| 		ObjRef myref = RemotingServices.Marshal (t1, "/test");
 | |
| 		Console.WriteLine ("OBJREF: " + myref.URI);
 | |
| 		
 | |
| 		string url = "simple://localhost:8000/test";
 | |
| 		string uri;
 | |
| 		
 | |
| 		SimpleChannel chnl = new SimpleChannel (8000);
 | |
| 		ChannelServices.RegisterChannel (chnl);
 | |
| 
 | |
| 		Console.WriteLine ("Channel name: " + chnl.ChannelName);
 | |
| 		Console.WriteLine ("Channel priority: " + chnl.ChannelPriority);
 | |
| 		Console.WriteLine ("URI: " + chnl.Parse (url, out uri));
 | |
| 		Console.WriteLine ("URI: " + uri);
 | |
| 		
 | |
| 
 | |
| 		Test tp = (Test)RemotingServices.Connect (typeof (Test), url);
 | |
| 
 | |
| 		int res = tp.test_function (4, true);
 | |
| 
 | |
| 		Console.WriteLine ("RESULT: " + res);
 | |
| 		
 | |
| 		chnl.StopListening (null);
 | |
| 		
 | |
| 		return 0;
 | |
| 	}
 | |
| }
 |