Call remote object method to Get and set variable : Remote Basics « Network Remote « VB.Net






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



           
       








Related examples in the same category

1.Your first Remote client and server
2.Validate Data remotely