首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用WampSharp处理错误和连接关闭

如何使用WampSharp处理错误和连接关闭
EN

Stack Overflow用户
提问于 2014-07-23 12:43:31
回答 1查看 1.4K关注 0票数 4

我一直在使用WampSharp,也就是为连接autobahn wamp websocket而提供的客户端库。

我已经使用以下代码(使用.Net客户端应用程序)成功地连接了我在python中创建的Autobahn (使用WampSharp):

代码语言:javascript
复制
DefaultWampChannelFactory channelFactory = new DefaultWampChannelFactory();
channel = channelFactory.CreateChannel(serverAddress);
channel.Open();

这里的serverAddress是: 127.0.0.1:8000 (即我的websocket从8000端口开始)。我的本地机器)。

我使用pubsub机制来交换由autobahn wamp websocket提供的数据,使用以下代码:

代码语言:javascript
复制
public void Subscribe()
{
    ISubject<string> subscribe1 = channel.GetSubject<string>(@"simple/topicSubject1");
    IDisposable subject1 = subscribe1.Subscribe(msg => MessageRecieved(msg));
}

public void Publish()
{
    ISubject<string> subjectForPublish = channel.GetSubject<string>(@"simple/topicSubject1");
    subjectForPublish.OnNext(sd.SerializeObject(DataToPublish));
}

所有这些过程都成功地完成了。我面临的问题是,我找不到任何处理程序来处理错误和连接丢失,就像我们在传统的websocket中所做的那样。在传统的websocket中,我们有如下处理程序:

代码语言:javascript
复制
webSocket.Error += new EventHandler<SuperSocket.ClientEngine.ErrorEventArgs>(webSocket_Error);
webSocket.Closed += new EventHandler(webSocket_Closed); 

我需要实现上述功能使用万普夏普。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-23 21:44:40

试试这个:

代码语言:javascript
复制
DefaultWampChannelFactory factory = new DefaultWampChannelFactory();
IWampChannel<JToken> channel = factory.CreateChannel("ws://localhost:9090/ws");

IWampClientConnectionMonitor monitor = channel.GetMonitor();
monitor.ConnectionError += ConnectionError;
monitor.ConnectionEstablished += ConnectionEstablished;
monitor.ConnectionLost += ConnectionLost;

await channel.OpenAsync();
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24910800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档