WampSharp客户端中的pong消息处理程序

时间:2014-08-14 07:08:50

标签: c# publish-subscribe autobahn autobahnws wampsharp

我有一个WampSharp客户端,它每隔1分钟成功ping一次在python中创建的Wamp WS服务器。

我在收到ping时从服务器向客户端发送一条pong消息。

我想知道是否有任何处理程序可以处理在WampSharp客户端中接收pong消息,以便我可以在客户端执行某些任务?

如果pong消息没有任何单独的处理程序,那么是否有任何处理程序来处理从服务器接收的数据,就像传统的WebSocket客户端一样,如下所示?

webSocket.MessageReceived += new EventHandler<MessageReceivedEventArgs>(webSocket_MessageReceived);

提前致谢。

1 个答案:

答案 0 :(得分:3)

我刚刚向NuGet上传了一个WampSharp版本,它允许您指定要用于WampChannel的底层WebSocket。

用法:

DefaultWampChannelFactory factory = new DefaultWampChannelFactory();
WebSocket socket = new WebSocket("ws://localhost:9090/ws", "wamp");
IWampChannel<JToken> channel = factory.CreateChannel(socket);

socket.DataReceived += OnDataReceived;

await channel.OpenAsync();

如您所见,您还可以订阅基础WebSocket的事件。我真的不喜欢这个,因为这会删除WampSharp的WebSocket封装,但如果你知道你在做什么,我不会阻止你。