This is the form.cs in my REMOTE SERVER

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;
using Microsoft.Win32;


namespace remoteserver
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            
            TcpChannel ch = new TcpChannel(8085);

            ChannelServices.RegisterChannel(ch);

            RemotingConfiguration.RegisterWellKnownServiceType(typeof

                           (remoteclass.xx), "Ankit", WellKnownObjectMode.Singleton);
            //RegistryKey rkApp = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
            //if(rkApp.GetValue("RemoteServer")==null)
            //rkApp.SetValue("RemoteServer", Application.ExecutablePath.ToString());
            
        }
    }
}

And This code is present in my Remote Client
It returns the sumation of two numbers in textBox1 and textBox2 in textBox3

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Runtime.Remoting;

using System.Runtime.Remoting.Channels;

using System.Runtime.Remoting.Channels.Tcp;
using System.Runtime.Serialization.Formatters.Soap;
using System.Threading;



namespace remoteclient
{

    public partial class Form1 : Form
    {

        //TcpChannel ch = new TcpChannel(); 

        remoteclass.xx obj = new remoteclass.xx();

        public Form1()
        {

            InitializeComponent();

        }



   

        private void button1_Click_1(object sender, EventArgs e)
        {
            try
            {
                //ChannelServices.RegisterChannel(ch); 

                obj = (remoteclass.xx)Activator.GetObject(typeof(remoteclass.xx),

                               "tcp://"+txtPath.Text+":8085/Ankit");

                int x = Int32.Parse(textBox1.Text);

                int y = Int32.Parse(textBox2.Text);

                textBox3.Text = (obj.sum(x, y)).ToString();
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

when I input localhost in txtPath
it works great


But when I try to connect it over lan
(Say my ip address is 192.168.1.1 and the server's ip address is 192.168.1.2)
and i input 192.168.1.2 in txtPath

I get the System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not respond after a period of time, or established connection failed because connected host has failed to respond 192.168.1.2

and when i try it over the internet
I get the exception
"No connection could be made because the target machine actively refused it."


Exception attached...


Thanks in advance

Recommended Answers

All 3 Replies

This is the code in REMOTE CLASS of mine

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.Runtime.Remoting;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Soap;
using System.Runtime.InteropServices;
namespace remoteclass
{


    public class xx : MarshalByRefObject
    {

        public int sum(int a, int b)
        {

            return a + b;

        }
}

Have you checked to ensure your firewalls are allowing traffic on the port you are using?

Yes I have tried turning off the firewall even...

Are my codes correct???

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.