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";
});