package Microsoft.Samples;
//-----------------------------------------------------------------------
//  This file is part of the Microsoft .NET Framework SDK Code Samples.
// 
//  Copyright (C) Microsoft Corporation.  All rights reserved.
// 
// This source code is intended only as a supplement to Microsoft
// Development Tools and/or on-line documentation.  See these other
// materials for detailed information regarding Microsoft code samples.
// 
// THIS CODE AND INFORMATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//-----------------------------------------------------------------------
import System.*;
import System.Runtime.Remoting.*;
import System.Runtime.Remoting.Channels.*;
import System.Runtime.Remoting.Channels.Tcp.*;

public class Client
{
    public static void main(String[] args)
    {
        TcpChannel chan = new TcpChannel();
        ChannelServices.RegisterChannel(chan, true);
        ForwardMe param = new ForwardMe();
        HelloServer obj = ((HelloServer)(Activator.GetObject(Microsoft.
            Samples.HelloServer.class.ToType(), 
            "tcp://localhost:8085/SayHello")));

        if (obj == null) {
            System.Console.WriteLine("Could not locate server");
        }
        else {
            Console.WriteLine("The value is {0}", 
                (Int32)(param.getValue()));
            ForwardMe after = obj.HelloMethod(param);
            Console.WriteLine("The value after the call is {0}",
                (Int32)after.getValue());
        }
    } //main
} //Client