`
dcdc723
  • 浏览: 183486 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

c# remoting简单实例 源码

阅读更多

1、首先建立一个类。

using System;
using System.Windows.Forms;


namespace lei
{
    public class rmb : MarshalByRefObject
    {
        public  rmb()
        {
            MessageBox.Show("成功建立通道", "消息提示");
        }
        public string cli()
        {
            return "与服务器端完成通信";
        }
        public void ser(string msg)
        {
            Console.WriteLine("客户端信息是:" + msg);
        }

    }
}

2、服务端(控制台程序):

using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;
using lei;


namespace remoting
{
     class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        static TcpServerChannel channel;

        [STAThread]
        static void Main(string[] args)
        {
            channel = new TcpServerChannel(38);//注册服务端的38端口
            ChannelServices.RegisterChannel(channel, false);
            RemotingConfiguration.RegisterWellKnownServiceType(typeof(rmb), "dc", WellKnownObjectMode.Singleton);
            Console.WriteLine("服务器已经启动");
            Console.Read();

        }
    
    }
}

 3、 客户端FORM.CS(窗体)

using System;
using System.Windows.Forms;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;
using lei;

namespace client
{
    public partial class Form1 : Form
    {
        rmb leis;
        TcpClientChannel channelc;
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string xx = textBox1.Text.ToString();
            leis.ser(xx);  //
           
          //  this.textBox1.Text = leis.cli();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            channelc = new TcpClientChannel();
            ChannelServices.RegisterChannel(channelc, false);
            leis = (rmb)Activator.GetObject(typeof(rmb), "tcp://localhost:38/dc");   //对应服务端的端口
        }
    }
}

 

 

0
0
分享到:
评论

相关推荐

    Remoting 实例源码

    开始学习Remoting 自己实例源码 拿出来分享

    Remoting 通讯方面 实例+源码

    Remoting 通讯方面 实例+源码 希望能给您带来帮助!

    C# 数据库三层架构源码20个

    C# 数据库三层架构源码20个,数据服务器端和客户端建设,Remoting技术实现数据库服务器,WebService技术实现数据库服务器,用户界面层、业务逻辑层和数据访问层三层框架实例,公司牛人的研发成果,不要错过呀!...

    remoting 的例子

    remoting 的例子,源码,有数据库,MRP 有学习 remoting 的可以看看,登入密码用户在数据库文件内, C#+SQL

    C#程序开发范例宝典/实例/源码_09

    链表的实现; 双向链表; 堆栈; 队列; 排序; 常见算法的实际应用; Windows服务开发; Remoting分布式开发; COM+服务开发;

    C#.net_经典编程例子400个

    273 实例190 获取窗口文本 273 实例191 判断文件是否正在被使用 274 实例192 在程序中调用.HLP文件 275 实例193 C#中实现文件拖放 276 实例194 文件比较 276 第7章 操作系统与Windows...

    C#程序开发范例宝典(第2版).part12

    实例229 C#中实现文件拖放 317 实例230 文件比较 318 实例231 获取文件夹中的图标资源 319 实例232 获取文件夹下的所有文件夹及文件的名称 321 第7章 操作系统与Windows相关程序 324 7.1 启动相关 325 实例...

    c#基础实例

    第一章C# Windows编程基础 实例1 循环语言的学习-砝码程序验证 实例2 随机数的案例-洗牌程序 实例3 通过实例来剖析C#继承机制 实例4 递归与全局变量的案例1-打靶程序 实例5 递归与全局变量的...

    C#程序开发范例宝典(第2版).part02

    实例229 C#中实现文件拖放 317 实例230 文件比较 318 实例231 获取文件夹中的图标资源 319 实例232 获取文件夹下的所有文件夹及文件的名称 321 第7章 操作系统与Windows相关程序 324 7.1 启动相关 325 实例...

    C#程序开发范例宝典(第2版).part08

    实例229 C#中实现文件拖放 317 实例230 文件比较 318 实例231 获取文件夹中的图标资源 319 实例232 获取文件夹下的所有文件夹及文件的名称 321 第7章 操作系统与Windows相关程序 324 7.1 启动相关 325 实例...

    C#程序开发范例宝典(第2版).part13

    实例229 C#中实现文件拖放 317 实例230 文件比较 318 实例231 获取文件夹中的图标资源 319 实例232 获取文件夹下的所有文件夹及文件的名称 321 第7章 操作系统与Windows相关程序 324 7.1 启动相关 325 实例...

    C#编程经验技巧宝典

    C#编程经验技巧宝典源代码,目录如下: 第1章 开发环境 1 &lt;br&gt;1.1 Visual Studio开发环境安装与配置 2 &lt;br&gt;0001 安装Visual Studio 2005开发环境须知 2 &lt;br&gt;0002 配置合适的Visual Studio 2005...

Global site tag (gtag.js) - Google Analytics