Your first Remote client and server : Remote Basics « Network Remote « VB.Net

Home
VB.Net
1.2D
2.Application
3.Class
4.Data Structure
5.Data Types
6.Database ADO.net
7.Date Time
8.Development
9.Event
10.File Directory
11.Generics
12.GUI
13.Internationalization I18N
14.Language Basics
15.LINQ
16.Network Remote
17.Reflection
18.Security
19.Thread
20.Windows Presentation Foundation
21.Windows System
22.XML
23.XML LINQ
VB.Net » Network Remote » Remote BasicsScreenshots 
Your first Remote client and server

///////////////////////////////RemoteObject: general.vb
// Complie: vbc /target:library  general.vb



Public Interface IEmployeeManager
    Function getEmployee(ByVal id As IntegerAs Employee
End Interface

<Serializable()> _
Public Class Employee

    Public FirstName As String
    Public LastName As String
    Public DateOfBirth As DateTime


    Public Sub New()
        Console.WriteLine("Employee.constructor: Object created")
    End Sub 'New

    Public Function getAge() As Integer
        Console.WriteLine("In getAge Method")
        Return 30
    End Function
End Class



/////////////////////////////test.vb
// Complie: 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
Imports System.Runtime.Remoting.Proxies
Imports System.Runtime.Remoting.Messaging



Module Client

    Sub Main()
        Dim channel As New HttpChannel()
        ChannelServices.RegisterChannel(channel,false)
        Dim mgr As IEmployeeManager = CType(Activator.GetObject_
            GetType(IEmployeeManager)"http://localhost:1234/EmployeeManager.soap"), _
            IEmployeeManager)

        Console.WriteLine("Client.Main(): Reference to EmployeeManager acquired")

        Dim cust As Employee = mgr.getEmployee(4711)

        Dim age As Integer = cust.getAge()
        Console.WriteLine("Client.Main(): Employee {0} {1} is {2} years old.", _
            cust.FirstName, cust.LastName, age)

        Console.ReadLine()

    End Sub
End Module


///////////////////////////server.vb
// Complie: 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

Class EmployeeManager
    Inherits MarshalByRefObject
    Implements IEmployeeManager

    Public Sub New()
        Console.WriteLine("EmployeeManager.constructor: Object created")
    End Sub

    Public Function getEmployee(ByVal id As IntegerAs Employee _
    Implements IEmployeeManager.getEmployee
        Console.WriteLine("EmployeeManager.getEmployee): Called")

        Dim tmp As New Employee()
        tmp.FirstName = "James"
        tmp.LastName = "Band"
        tmp.DateOfBirth = New DateTime(100774)

        Console.WriteLine(("EmployeeManager.getEmployee(): Returning " & _
            "Employee-Object"))

        Return tmp
    End Function
End Class

Module ServerStartup

    Sub Main()
        Console.WriteLine("ServerStartup.Main(): Server started")

        Dim chnl As New HttpChannel(1234)
        ChannelServices.RegisterChannel(chnl,false)

        RemotingConfiguration.RegisterWellKnownServiceType_
            GetType(EmployeeManager), _
            "EmployeeManager.soap", _
            WellKnownObjectMode.Singleton)

        
        Console.ReadLine()

    End Sub
End Module



           
       
Related examples in the same category
1.Validate Data remotely
2.Call remote object method to Get and set variable
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.