我有功能的onMessage氛围:服务器接收其消息
@ManagedService(path = "/atmosphere/formuserpresence/{id}")
public class FormUserPresenceUpdate extends AtmosphereHelper
{
@Message
public final void onMessage(final String message) throws IOException
{
...
...
...
...
broadcast(FormUserPresenceUpdate.class, "/atmosphere/formuserpresence/" + statusMessage.getId(), returnArrayString);
}
}
一个ManagedService我有客户端 - 服务器的通信。几个客户可以使用他们的ID来订阅这个频道。然后,客户端可以发送状态,像
消息= { IDENT: “uniqId”, 状态: “statusMessageValue” });
类FormUserPresenceUpdate存储所有客户端的所有接收状态,并通过广播函数将其作为数组作为消息(returnArrayString)返回。
问题是,无论客户端是否收到正确的值(消息数组),服务器也会从本身接收此数组并且无法解析它。所以问题是:这种情况的解决方案是什么?我可以以某种方式使它成为这样,而不是通过服务器本身发送这组消息?或者我应该创建第二个频道(我真的不想那么做)?
感谢您的工作答案。我用'return message'解决了我的特殊问题,取代了广播功能。通过这种方式,所有用户都收到这条消息,但服务器没有,这对我来说很好。 在这里还发现了一个提示[链接](http://atmosphere-framework.2306103.n4.nabble.com/ManagedService-with-Post-tp4657184p4657185.html)在哪里说,如果解码器的onMessage '方法无法解码对象,这个'onMessage'将被跳过。我认为,这是值得添加到您的文章为其他用户。 无论如何,标记为接受的问题,谢谢。 :-) – CodeMonkey