我一直在使用 WampSharp,即提供用于连接高速公路 wamp websocket 的客户端库。
我已经使用以下代码(使用 WampSharp)成功地连接了我在 python 中创建的 Autobahn Wamp Websocket:
DefaultWampChannelFactory channelFactory = new DefaultWampChannelFactory();
channel = channelFactory.CreateChannel(serverAddress);
channel.Open();
这里的 serverAddress 是:127.0.0.1:8000(即我的 websocket 从我本地机器的 8000 端口号开始)。
我正在使用 pubsub 机制使用以下代码交换 autobahn wamp websocket 提供的数据:
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 中,我们有如下处理程序:
webSocket.Error += new EventHandler<SuperSocket.ClientEngine.ErrorEventArgs>(webSocket_Error);
webSocket.Closed += new EventHandler(webSocket_Closed);
我需要使用 wampsharp 来实现上述功能。
提前致谢。