日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于Remoting信道的通信的问题

發布時間:2023/12/31 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于Remoting信道的通信的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
關于Remoting信道的通信的問題 我是今年才畢業的應屆生,找了一家公司,主要從事.net開發。公司讓我從事Remoting開發,最近幾天看了wayfarer的一些文章,覺得很好,自己也試著做了一個小程序,不知道為什么達不到預期的效果。
現在把程序發上來,希望大家能為我解決問題。
遠程類:
using?System;
using?System.Runtime.Remoting;

namespace?Distribution_Framework
{
????
//定義廣播事件的參數類
????[Serializable]
????
public?class?BroadcastEventArgs?:?EventArgs
????
{
????????
private?string?msg?=?null;
????????
public?BroadcastEventArgs(string?message)
????????
{
????????????msg?
=?message;
????????}

????????
public?string?Message
????????
{
????????????
get
????????????
{
????????????????
return?msg;
????????????}

????????}

????}

????
public?delegate?void?BroadcastEventHandler(object?sender,?BroadcastEventArgs?submitArgs);
????
public?class?InfoCenter?:?MarshalByRefObject
????
{
????????
private?static?int?count=?0;
????????
public?InfoCenter()
????????
{
????????????count?
=?count+1;
????????????Console.Write(count.ToString());
????????????Console.WriteLine(
"InfoCenter?created.");
????????}

????????
public?override?object?InitializeLifetimeService()
????????
{
????????????
return?null;
????????}

????????
public?event?BroadcastEventHandler?Broadcaster;
????????
public?void?Broadcasting(string?message)
????????
{
????????????BroadcastEventArgs?e?
=?new?BroadcastEventArgs(message);

????????????
if?(Broadcaster?!=?null)
????????????
{
????????????????Broadcaster(
this,?e);//發出事件
????????????????Console.WriteLine("Broadcast:"?+?e.Message);
????????????}

????????}

????}

}





服務端:
using?System;
using?System.Runtime.Remoting;
using?System.Runtime.Remoting.Channels;
using?System.Runtime.Remoting.Channels.Http;
using?System.Runtime.Serialization.Formatters;
using?System.Collections;
//using?System.Runtime.Remoting.Services;
//using?directive;

namespace?Distribution_Framework
{
????
class?Server
????
{
????????
public?static?void?Main(string[]?Args)
????????
{
????????????RemotingConfiguration.Configure(
@"F:\Broadcast\Server\Server\Server.exe.config");?

????????????
/**//*IDictionary?channelProps?=?new?Hashtable();
????????????channelProps["name"]?="BroadCaster";
????????????channelProps["priority"]?=1;
????????????channelProps["port"]=8011;

????????????BinaryServerFormatterSinkProvider?sinkProvider?=?new?BinaryServerFormatterSinkProvider();
????????????sinkProvider.TypeFilterLevel?=TypeFilterLevel.Full;
????????????HttpServerChannel?channel?=?new?HttpServerChannel(channelProps,sinkProvider);
????????????ChannelServices.RegisterChannel(channel);
*/


????????????Console.WriteLine(
"Server?is?running,?Press?Enter?key?to?exit.");
????????????Console.ReadLine();
????????

????????????
/**//*RemotingConfiguration.RegisterWellKnownServiceType(typeof(Distribution_Framework.InfoCenter),?"Broadcast",?WellKnownObjectMode.Singleton);
????????????HttpChannel?myChannel?=?new?HttpChannel(8011);
????????????ChannelServices.RegisterChannel(myChannel);

????????????IServerChannelSink?sc?=?myChannel.ChannelSinkChain;
????????????while?(sc?!=?null)
????????????{
????????????????if?(sc?is?BinaryServerFormatterSink)
????????????????{
????????????????????((BinaryServerFormatterSink)sc).TypeFilterLevel?=?TypeFilterLevel.Full;
????????????????????//break;
????????????????}
????????????????if?(sc?is?SoapServerFormatterSink)
????????????????{
????????????????????((SoapServerFormatterSink)sc).TypeFilterLevel?=?TypeFilterLevel.Full;
????????????????????//break;
????????????????}
????????????????sc?=?sc.NextChannelSink;
????????????}
????????????Console.WriteLine("Server?is?running,?Press?Enter?key?to?exit.");
????????????Console.ReadLine();
????????
*/



????????}

????}

}


Annoncer:
using?System;
using?System.Timers;
using?System.Runtime.Remoting;
using?System.Runtime.Remoting.Channels;
using?System.Runtime.Remoting.Channels.Http;


namespace?Distribution_Framework
{
????
class?Announcer
????
{
????????InfoCenter?infoCenter;

????????
public?static?void?Main(string[]?Args)
????????
{
????????????
/**//*HttpChannel?channel?=?new?HttpChannel();
????????????ChannelServices.RegisterChannel(channel);
????????????RemotingServices.Connect(typeof(InfoCenter),"
http://localhost:8011/BroadCaster");*/

????????????Announcer?announcer?
=?new?Announcer();
????????????announcer.Run();
????????????Console.WriteLine(
"The?announcer?has?been?started.");
????????????Console.ReadLine();
????????}


????????
public?void?Run()
????????
{
????????????
try
????????????
{
????????????????RemotingConfiguration.Configure(
@"F:\Broadcast\Announcer\Announcer\Announcer.exe.config");
????????????????
//infoCenter?=?new?InfoCenter();
????????????????Timer?timer?=?new?Timer(1000);
????????????????timer.Elapsed?
+=?new?System.Timers.ElapsedEventHandler(this.timer_Elapsed);
????????????????timer.Enabled?
=?true;
????????????}

????????????
catch(Exception?ex)
????????????
{
????????????????Console.WriteLine(ex.ToString());
????????????????Console.ReadLine();
????????????}

????????}


????????
private?void?timer_Elapsed(object?sender,?System.Timers.ElapsedEventArgs?e)
????????
{
????????????
string?msg?=?"The?Time?is:?"?+?DateTime.Now.ToString();
????????????Console.WriteLine(
"Send?Message:"?+?msg);
????????????infoCenter.Broadcasting(msg.ToString());
????????}

????}

}


客戶端:
using?System;
using?System.Runtime.Remoting;
using?System.Runtime.Remoting.Channels;
using?System.Runtime.Remoting.Channels.Http;
using?System.Collections;
using?System.Runtime.Serialization.Formatters;

namespace?Distribution_Framework
{
????
class?Receiver?:?MarshalByRefObject
????
{
????????InfoCenter?infoCenter;
????????
public?Receiver()
????????
{
????????}


????????
public?override?object?InitializeLifetimeService()?
????????
{
????????????
return?null;
????????}


????????
public?void?Run()
????????
{
????????????
try
????????????
{
????????????????
//RemotingConfiguration.Configure(@"F:\Broadcast\Receiver\Receiver\Receiver.exe.config");
????????????????HttpChannel?channel?=?new?HttpChannel();
????????????????ChannelServices.RegisterChannel(channel);
????????????????RemotingServices.Connect(
typeof(InfoCenter),"http://localhost:8011/BroadCaseter");
????????????????infoCenter?
=?new?InfoCenter();
????????????????
//訂閱信息
????????????????infoCenter.Broadcaster?+=?new?BroadcastEventHandler(this.BroadcastReceiver);
????????????????
//infoCenter.Broadcasting("hello");
????????????????Console.WriteLine("Ready?to?Recieve?Message");
????????????????Console.ReadLine();
????????????}

????????????
catch(Exception?ex)
????????????
{
????????????????Console.WriteLine(ex.Message);
????????????????Console.ReadLine();
????????????}

????????????
//取消訂閱
????????????
//infoCenter.Broadcaster?-=?new?BroadcastEventHandler(this.BroadcastReceiver);
????????}


????????
public?void?BroadcastReceiver(object?sender,?BroadcastEventArgs?args)
????????
{
????????????Console.WriteLine(
"Received:"?+?args.Message);//打印接收信息
????????}


????????
public?static?void?Main()
????????
{
????????????Receiver?receiver?
=?new?Receiver();
????????????receiver.Run();
????????}

????}

}



在客戶端如果用配置文件就報錯,說<channels>附進有錯誤。
客戶端配置文件:
<?xml?version="1.0"?encoding="utf-8"??>
<configuration>
???
<system.runtime.remoting>
??????
<application>
?????????
<client>
????????????
<client?url="http://localhost:8011/BroadCaster">
????????????????
<activated?type="Distribution_Framework.InfoCenter,?InfoCenter"/>
????????????
</client>
?????????
<channels>
????????????
<channel?ref="http"?port="0"/>
????????????????
<serverProviders>
??????????????????
<provider?ref="binary"?typeFilterLevel="Full"/>
????????????????
</serverProviders>
?????????
</channels>
??????
</application>
???
</system.runtime.remoting>
</configuration>
posted on 2006-04-19 08:34?偷回憶的人 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/liuwenjun830/archive/2006/04/19/378733.html

總結

以上是生活随笔為你收集整理的关于Remoting信道的通信的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色av免费在线播放 | 婷婷狠狠| 中文字幕一区二区三区在线视频 | 免费看av大片 | 天天草天天射 | 青青青手机在线视频 | 亚洲国产精品久久久久爰性色 | 三级视频黄色 | 歪歪视频在线观看 | 免费看的黄网站 | 国产校园春色 | 日韩黄色视屏 | 影音先锋在线国产 | 思思久久99 | 亚洲成人黄色影院 | 国产一区999 | 日韩专区在线播放 | 成人影片在线播放 | 国产欧美一区二区三区沐欲 | 97国产精品久久 | 日韩av无码一区二区三区不卡 | 黄色小说网站在线观看 | 成人蜜桃视频 | 国产在线观 | 亚洲 欧美 国产 另类 | 91美女视频网站 | 欧美黑人性xxx | 182tv福利视频 | 免费国产一区二区 | 超碰激情在线 | 日少妇的逼 | 视频一区二区三 | 亚洲狠 | 97超碰免费在线观看 | www.好吊色| 日本欧美色图 | 日韩精品视频在线免费观看 | 一区二区三区视频播放 | 操天天操 | 国产亚洲在线观看 | 九九视频在线播放 | 国产精品久久久久久免费播放 | 欧美三级色图 | 日韩三级国产精品 | 日本婷婷 | 宅男噜噜噜 | 久久经典 | 超碰在线91 | 亚洲男女视频在线观看 | 成人a在线 | 久久国产精品-国产精品 | 日韩欧美一 | 不卡av电影在线观看 | 97超碰免费在线 | av免费影院 | 伊人国产精品 | 人人爽人人干 | xxxx18日本 | 亚洲国产精品女人久久久 | 好吊一区二区三区视频 | 国产精品久久久久久久久久小说 | 中字幕一区二区三区乱码 | 亚洲AV无码成人精品国产一区 | 色视频网站在线观看 | 俄罗斯毛片基地 | 美女黄色真播 | 999久久久国产精品 韩国精品一区二区 | 超级黄色片| 开心激情婷婷 | 娇妻被老王脔到高潮失禁视频 | 91精品在线观看视频 | 波多在线观看 | 成人黄页网站 | 神马午夜av | 久久久999国产 | 琪琪伦伦影院理论片 | 日韩欧美亚洲一区 | 国产二级一片内射视频播放 | www麻豆| 牛牛影视免费观看 | 亚洲黄色小说网 | 国产女人18水真多18精品一级做 | 欧美色图国产精品 | 国产成人无码aa精品一区 | 干欧美少妇 | 色综合视频在线 | 蜜桃精品成人影片 | 国产亚洲美女精品久久久2020 | 色七七视频 | 午夜三级视频 | 亚州黄色| 亚洲一区二区三区四区av | 男人插入女人阴道视频 | 西西44rtwww国产精品 | 久久视频在线看 | 精品久久a | 亚洲第三色 | 亚洲成人黄色片 | 肉大榛一进一出免费视频 |