Hi.

First of all, I am new to C#.
I have made this simple C# remoting example, based on a couple of tutorials I have read. The problem is very simple. The remote object that my server created, has to have a method, that can edit, lets say a textfield, or a method, on the server side. This method in the object should be invoked by the client. In short, the client shoyld be able to change a text field on the server, through remoting.
Problem is, how does the object get the instance of the server/server gui?

This is my server:

class Server
    {
        private Form1 form;

        public Server(Form1 form)
        {
            this.form = form;
           
        }

        public void StartListening()
        {
            form.richTextBox1.Text = "Server started...";
            TcpChannel tcpChannel = new TcpChannel(9998);
            ChannelServices.RegisterChannel(tcpChannel, false);
            Type commonInterfaceType = Type.GetType("MovieTicket");
            RemotingConfiguration.RegisterWellKnownServiceType(commonInterfaceType, "MovieTicketBooking", WellKnownObjectMode.SingleCall);
        }  

    }

This is the Client:

class client
    {
        public client()
        {
            TcpChannel tcpChannel = new TcpChannel();
            ChannelServices.RegisterChannel(tcpChannel, false);

            Type requiredType = typeof(MovieTicketInterface);

            MovieTicketInterface remoteObject = (MovieTicketInterface)Activator.GetObject(requiredType, "tcp://localhost:9998/MovieTicketBooking");
            MessageBox.Show(remoteObject.GetTicketStatus());
          
        }
    }

The object interface:

public interface MovieTicketInterface
{
    string GetTicketStatus(string stringToPrint);
    void SetServerTextField(string text);
}

The object

public class MovieTicket : MarshalByRefObject, MovieTicketInterface
{
    public string GetTicketStatus()
    {
        MessageBox.Show(stringToPrint);
        string returnStatus = "Ticket Confirmed";
        return returnStatus;
    }

    public void SetServerTextField(string text)
    {
        //what instance can i refer to?!
    }
}

Thank you very much :)

Recommended Answers

All 2 Replies

Please see this and mark as solved if it answers your question: .NET Remoting Examples...

Thanks alot, i will look into it :)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.