我有一个WampSharp客户端,它每隔1分钟就能ping通我用python创建的Wamp WS服务器。
我在收到ping后从服务器向客户端发送一个pong消息。
我想知道是否有任何处理程序将处理在WampSharp客户端收到的pong消息,以便我可以在客户端执行某些任务?
如果没有任何单独的处理程序的pong消息,那么是否有任何处理程序来处理从服务器接收的数据,就像在传统的WebSocket客户端,如下所示?
webSocket.MessageReceived += new EventHandler<MessageReceivedEventArgs>(webSocket_MessageReceived);
我刚刚上传了一个版本的WampSharp到NuGet,它允许你指定你想要用于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封装,但如果你知道你在做什么,我不会阻止你。