我有一个WampSharp客户端,它每隔1分钟成功ping一次在python中创建的Wamp WS服务器。
我在收到ping时从服务器向客户端发送一条pong消息。
我想知道是否有任何处理程序可以处理在WampSharp客户端中接收pong消息,以便我可以在客户端执行某些任务?
如果pong消息没有任何单独的处理程序,那么是否有任何处理程序来处理从服务器接收的数据,就像传统的WebSocket客户端一样,如下所示?
webSocket.MessageReceived += new EventHandler<MessageReceivedEventArgs>(webSocket_MessageReceived);
提前致谢。
答案 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封装,但如果你知道你在做什么,我不会阻止你。