2016-09-23 51 views
1

我有一个web应用程序通过websocket发送消息。他们是JSON有效载荷。 当您点击某些按钮时,应用程序将发送有效负载。有没有办法拦截有效载荷? 可以使用什么JAVA库来检查有效载荷是否正确?如何检查WebSocket JSON负载?

回答

0

您可以使用Java JSON API(如Gson等),并尝试将JSON字符串解析到所需的Java类中。每个API都有自己的唯一异常,如果您的有效负载不正确并且无法解析,则会引发这些异常。

+0

这并不能解决我拦截有效负载的问题。我需要以某种方式连接到端点并从那里抓取它。任何想法如何实现? – BadNews

+0

您可以使用javax.websocket.server创建带有“ServerEndpoint”注释的Java websocket服务器端点类。您可以通过“OnOpen”方法拦截websocket请求,并通过具有“OnMessage”注释的方法接收消息。看看https://blogs.oracle.com/arungupta/entry/websocket_client_and_server_endpoint – cagrias

+0

这样做的问题是,只要我发送多条消息,我只会得到第一个消息,即在onOpen上发送的消息。我不知道如何处理多个消息。没有关于这个的例子。 – BadNews

0

检查任何HTTP通信的有效负载的一种更简单的方法是使用像Wireshark这样的工具,只需使用http tcp过滤器启动数据包捕获并且它将提供所有交互(使用HTTP有效负载)[初始握手等]。对于websocket interation,它也支持websocket过滤器。

参考this post