Mega Code Archive

 
Categories / VB.Net / Network Remote
 

Call remote object method to Get and set variable

///////////////////////////////////general.vb // Compile: vbc /target:library  general.vb Imports System Public Class MyRemoteObject     Inherits MarshalByRefObject     Private myvalue As Integer     Public Sub New()         Console.WriteLine("MyRemoteObject.Constructor: New Object created")     End Sub 'New     Public Sub New(ByVal startvalue As Integer)         Console.WriteLine("MyRemoteObject.Constructor: .ctor called with {0}", _             startvalue)         myvalue = startvalue     End Sub     Public Sub setValue(ByVal newval As Integer)         Console.WriteLine("MyRemoteObject.setValue(): old {0} new {1}", _             myvalue, newval)         myvalue = newval     End Sub     Public Function getValue() As Integer         Console.WriteLine("MyRemoteObject.getValue(): current {0}", _             myvalue)         Return myvalue     End Function End Class ///////////////////////////////////test.vb // Compile: vbc /t:exe /r:general.dll test.vb Imports System Imports System.Runtime.Remoting Imports System.Runtime.Remoting.Channels.Http Imports System.Runtime.Remoting.Channels Module Client     Sub Main()         Dim channel As New HttpChannel()         ChannelServices.RegisterChannel(channel,false)         RemotingConfiguration.RegisterActivatedClientType( _             GetType(MyRemoteObject), "http://localhost:1234/MyServer")         Console.WriteLine("Client.Main(): Creating first object")         Dim obj1 As New MyRemoteObject()         obj1.setValue(42)         Console.WriteLine("Client.Main(): Creating second object")         Dim obj2 As New MyRemoteObject()         obj2.setValue(11)         Console.WriteLine("Obj1.getValue(): {0}", obj1.getValue())         Console.WriteLine("Obj2.getValue(): {0}", obj2.getValue())     End Sub End Module ///////////////////////////////////server.vb // vbc /target:exe  /r:general.dll server.vb Imports System Imports System.Runtime.Remoting Imports System.Runtime.Remoting.Channels.Http Imports System.Runtime.Remoting.Channels Module ServerStartup     Sub Main()         Console.WriteLine("ServerStartup.Main(): Server started")         Dim chnl As New HttpChannel(1234)         ChannelServices.RegisterChannel(chnl,false)         RemotingConfiguration.ApplicationName = "MyServer"         RemotingConfiguration.RegisterActivatedServiceType( _             GetType(MyRemoteObject))                  Console.ReadLine()     End Sub End Module