简体   繁体   English

无效的WAMP消息:缺少数组关闭或无效的其他参数

[英]invalid WAMP message: missing array close or invalid additional args

D/de.tavendo.autobahn.WebSocketReader: created D/de.tavendo.autobahn.AutobahnReader: created D/de.tavendo.autobahn.AutobahnConnection: reader created and started D/de.tavendo.autobahn.WebSocketReader: running D/de.tavendo.autobahn.WebSocketWriter: created D/de.tavendo.autobahn.AutobahnWriter: created D/de.tavendo.autobahn.AutobahnConnection: writer created and started D/de.tavendo.autobahn.AutobahnReader: invalid WAMP message: missing array close or invalid additional args D/de.tavendo.autobahn.WebSocketConnection: opening handshake received D/de.tavendo.autobahn.AutobahnConnection: WAMP session 163056330058b5c9094c0d3240526863 established D/de.tavendo.autobahn.WebSocketConnection: WebSockets Close received (1007 - null) D/de.tavendo.autobahn.WebSocketReader: run() : ConnectionLost D/de.tavendo.autobahn.WebSocketReader: ended D/de.tavendo.autobahn.WebSocketConnection: fail connection [code = 3, reason = WebSockets connection lost D/de.tavendo.autobahn.WebSocketReader: quit D/de.tavendo 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消息:缺少数组关闭或无效的其他参数D / de.tavendo.autobahn.WebSocketConnection:收到打开的握手D / de.tavendo.autobahn.AutobahnConnection:建立了WAMP会话163056330058b5c9094c0d3240526863 D / de.tavendo.autobahn.WebSocketConnection已建立:WebSockets关闭已收到(1007-空)D /de.tavendo.autobahn.WebSocketReader:run():ConnectionLost 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 connection lost D/de.tavendo.autobahn.WebSocketConnection: worker threads stopped .autobahn.WebSocketWriter:结束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);
            }
        });
    }
}

If remove autobahnConnection.sendTextMessage("Hello from DANIEL!!!"); 如果删除autobahnConnection.sendTextMessage("Hello from DANIEL!!!"); it worked OK and connection didn't lost: 它工作正常,并且连接没有丢失:

D/de.tavendo.autobahn.WebSocketReader: created D/de.tavendo.autobahn.AutobahnReader: created D/de.tavendo.autobahn.AutobahnConnection: reader created and started D/de.tavendo.autobahn.WebSocketReader: running D/de.tavendo.autobahn.WebSocketWriter: created D/de.tavendo.autobahn.AutobahnWriter: created D/de.tavendo.autobahn.AutobahnConnection: writer created and started D/de.tavendo.autobahn.AutobahnReader: invalid WAMP message: missing array close or invalid additional args D/de.tavendo.autobahn.WebSocketConnection: opening handshake received D/de.tavendo.autobahn.AutobahnConnection: WAMP session 212228657158b64424d3300506265704 established 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消息:缺少数组关闭或无效的其他参数D / de.tavendo.autobahn.WebSocketConnection:收到打开的握手D / de.tavendo.autobahn.AutobahnConnection:建立了WAMP会话212228657158b64424d3300506265704

But if I send string message from javascript client it worked ok too. 但是,如果我从javascript客户端发送字符串消息,它也可以正常工作。

For sending message to websocket server write it after subscribe process: 要将消息发送到websocket服务器,请在订阅过程之后将其写入:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM