定義遠程對象(繼承自MarshalByRefObject)2>創(chuàng)建一個Server端作為宿主(注冊通道、注冊遠程對象)3>創(chuàng)建客戶端(注冊通道、通過URL獲取Server端的遠程對象的代理、通過代理操作遠程對象)服務(wù)器IP:10.10.1.35端口號:8090如果使用的端口號已經(jīng)被占用會提示:具體操作代碼:1.創(chuàng)建一個操作具體的項目RemotingModelnamespaceRemotingModel{//記得把類的訪問修飾符改為pu" />

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Remoting分布式開發(fā)在局域網(wǎng)中的應(yīng)用

系統(tǒng) 1656 0

先弄清一下流程吧:

?? 1>定義遠程對象(繼承自MarshalByRefObject)
?? 2>創(chuàng)建一個Server端作為宿主(注冊通道、注冊遠程對象)
?? 3>創(chuàng)建客戶端(注冊通道、通過URL獲取Server端的遠程對象的代理、通過代理操作遠程對象)

服務(wù)器IP:10.10.1.35?? 端口號:8090

如果使用的端口號已經(jīng)被占用會提示:

具體操作代碼:

?1.創(chuàng)建一個操作具體的項目RemotingModel

?

      namespace RemotingModel

{

    //記得把類的訪問修飾符改為public

    public class Talker : MarshalByRefObject//繼承自該MarshalByRefObject

    {

        public void Talk(string word)

        {

            Console.WriteLine(word);

        }

    }

}


    

?

?2.添加一個服務(wù)器端項目RemotingServer:這個項目在服務(wù)器端10.10.1.35機器上

?? 1>添加引用System.Runtime.Remoting和RemotingModel項目

?? 2>添加如下代碼:

      using System.Runtime.Remoting;

using System.Runtime.Remoting.Channels;

using System.Runtime.Remoting.Channels.Tcp;



using RemotingModel;


    

?

      static void Main(string[] args)

        {

            //注冊通道(添加引用RemotingModel和System.Runtime.Remoting)

            TcpServerChannel channel = new TcpServerChannel("TalkChannel", 8090);

            ChannelServices.RegisterChannel(channel, false);



            //注冊遠程對象

            RemotingConfiguration.RegisterWellKnownServiceType(typeof(Talker),

                "Ser_Talker",

                WellKnownObjectMode.SingleCall

                );



            Console.ReadLine();

        }


    

?

?3.添加一個客戶端項目RemotingClient:這個項目在客戶端機器上

??? 同樣添加那兩引用

??

      using System.Runtime.Remoting;

using System.Runtime.Remoting.Channels;

using System.Runtime.Remoting.Channels.Tcp;



using RemotingModel;



namespace RemotingClient

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }



        private Talker _talker = null;

        private void button1_Click(object sender, EventArgs e)

        {

            //操作遠程對象

            _talker.Talk(txt_word.Text.Trim());



            //Do other things

            txt_content.Text = "發(fā)送成功:" + txt_word.Text.Trim();

        }



        private void Form1_Load(object sender, EventArgs e)

        {

            //注冊通道

            TcpClientChannel channel = new TcpClientChannel();

            ChannelServices.RegisterChannel(channel, false);



            //獲取遠程對象

            _talker = (Talker)Activator.GetObject(typeof(Talker), "TCP://10.10.1.35:80/Ser_Talker");//TCP://10.10.1.35:8090/Ser_Talker

        }

    }

}


    

?注意:如果客戶端和服務(wù)器端ChannelServices.RegisterChannel(channel, true);這里是true的時候會報錯:

如果端口號寫的不一致就會出現(xiàn)如下錯誤:

當然如果客戶端和服務(wù)器端都在本機上運行的時候這里的true也可以的。

生成之后你直接在服務(wù)器端和客戶端下打開bin>Debug>文件夾下的.exe就可以實現(xiàn)效果了。

這樣的話就ok了你在本機上發(fā)的消息馬上就能在服務(wù)器10.10.1.35上看到消息了。

Remoting分布式開發(fā)在局域網(wǎng)中的應(yīng)用


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 91久色视频 | 免费永久欧美性色xo影院 | 国产精品综合色区在线观看 | 在线视频国产一区 | 99xxoo视频在线永久免费观看 | 国产91网 | xnxx18日本 | 国产成人在线影院 | 成人黄色在线视频 | 日本黄色高清网站 | 九九热最新地址 | 玖玖精品 | 色本道| 婷婷qvod| 成人毛片在线观看 | 久久草在线 | 羞羞网页 | 亚洲国产精品人人爽夜夜爽 | 一级黄色毛片a | 国产亚洲精品高清在线 | 日本v在线| 日本道二区视频 | 国产亚洲欧美在线人成aaaa | 秋霞久久国产精品电影院 | 日韩欧美在线观看一区 | 国产精品久久久久久久久久久久 | 亚洲综合色网站 | 嗯啊你轻点好深啊hh在线播放 | 国产一区二区三区免费播放 | 欧美国产精品一区二区免费 | 午夜小视频在线观看 | www.日韩在线| 天天射天天草 | 色综合一区 | 漂流教室免费观看韩国电影 | 日韩精品欧美一区二区三区 | 色开心婷婷 | 狠狠干夜夜草 | 国产精品怕怕怕视频免费 | 亚洲高清久久 | 成人小视频在线观看免费 |