无效的WAMP消息:丢失数组关闭或无效的附加ARG



d/de.tavendo.autobahn.WebsocketReader:创建 d/de.tavendo.autobahn.autobahnreader:创建 d/de.tavendo.autobahn.autobahnconnection:创建和启动的读者 d/de.tavendo.autobahn.WebsocketReader:运行 d/de.tavendo.autobahn.websocketwriter:创建 d/de.tavendo.autobahn.autobahnwriter:创建 d/de.tavendo.autobahn.autobahnconnection:创建并开始 d/de.tavendo.autobahn.autobahnreader:无效的wamp消息:丢失 阵列关闭或无效的附加ARGS d/de.tavendo.autobahn.websocketConnection:收到开场握手 d/de.tavendo.autobahn.autobahnconnection:Wamp会议 16305630058B5C9094C0D3240526863建立 d/de.tavendo.autobahn.websocketConnection:Websockets关闭接收 (1007 -null)d/de.tavendo.autobahn.websocketReader:run(): Connectlost D/de.tavendo.autobahn.WebsocketReader:结束 d/de.tavendo.autobahn.websocketConnection:失败连接[代码= 3, 原因= WebSockets连接丢失 d/de.tavendo.autobahn.WebsocketReader:退出 d/de.tavendo.autobahn.websocketwriter:ended d/main_act__chat_close: WebSockets连接丢失D/de.tavendo.autobahn.websocketConnection: 工人线程停止

public class MainActivity extends AppCompatActivity {
    private final AutobahnConnection autobahnConnection = new AutobahnConnection();
    private static class WebSocketPubSubEvent {
        public int num;
        public String name;
        public boolean flag;
        public Date created;
        public double rand;
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        autobahnConnection.connect("ws://95.213.194.229:9000", new Autobahn.SessionHandler() {
            @Override
            public void onOpen() {
                autobahnConnection.subscribe("chat/topic",
                        WebSocketPubSubEvent.class,
                        new Autobahn.EventHandler() {
                            @Override
                            public void onEvent(String topic, Object event) {
                                WebSocketPubSubEvent evt = (WebSocketPubSubEvent) event;
                                Log.d("MAIN_ACTIVITI__CHAT", evt.name);
                                Log.d("MAIN_ACTIVITI__CHAT", new Integer(evt.num).toString());
                                Log.d("MAIN_ACTIVITI__CHAT", evt.flag ? "TRUE" : "FALSE");
                                Log.d("MAIN_ACTIVITI__CHAT", new Integer(evt.created.getHours()).toString());
                                Log.d("MAIN_ACTIVITI__CHAT", new Double(evt.rand).toString());
                            }
                        }
                );
                autobahnConnection.sendTextMessage("Hello from DANIEL!!!");
            }
            @Override
            public void onClose(int i, String s) {
                Log.d("MAIN_ACT__CHAT_CLOSE", s);
            }
        });
    }
}

如果删除autobahnConnection.sendTextMessage("Hello from DANIEL!!!");,则可以正常运行,并且连接不会丢失:

d/de.tavendo.autobahn.WebsocketReader:创建 d/de.tavendo.autobahn.autobahnreader:创建 d/de.tavendo.autobahn.autobahnconnection:创建和启动的读者 d/de.tavendo.autobahn.WebsocketReader:运行 d/de.tavendo.autobahn.websocketwriter:创建 d/de.tavendo.autobahn.autobahnwriter:创建 d/de.tavendo.autobahn.autobahnconnection:创建并开始 d/de.tavendo.autobahn.autobahnreader:无效的wamp消息:丢失 阵列关闭或无效的附加ARGS d/de.tavendo.autobahn.websocketConnection:收到开场握手 d/de.tavendo.autobahn.autobahnconnection:Wamp会议 2122228657158B64424D3300506265704建立

但是,如果我从JavaScript客户端发送字符串消息也可以。

用于将消息发送到WebSocket服务器后写入订阅过程:

autobahnConnection.publish("chat/topic", new Object() {
    final String msg = "Message for you, ... <3";
});

最新更新