我试图让我的 Google Glass 和我的 android 手机连接到我在我的计算机上运行的 NodeJs 服务器,这样我就可以将消息从我的 android 手机发送到我的 Google Glass。
为此,我使用了 koush 的 AndroidAsync 库,该库在我的 android 手机上运行良好,而且我可以毫无困难地将手机连接到使用该库的 NodeJS 服务器。
但是,相同的代码似乎不适用于我的 Google Glass。我的 Google Glass 确实连接了,因为我的 NodeJS 服务器的 on connection 事件处理程序被触发,它似乎没有触发我的 Google Glass 上的任何 ConnectCallback 函数。
这是我在 Google Glass 应用中使用的代码:
SocketIOClient.connect(AsyncHttpClient.getDefaultInstance(), "http://192.168.1.229:5000", new ConnectCallback() {
@Override
public void onConnectCompleted(Exception ex, SocketIOClient client) {
Log.i("SOCKET", "CONNECTION COMPLETED");
if (ex != null) {
ex.printStackTrace();
return;
}
client.setStringCallback(new StringCallback() {
@Override
public void onString(String string, Acknowledge acknowledge) {
Log.d("SOCKET", string);
}
});
client.setJSONCallback(new JSONCallback() {
@Override
public void onJSON(JSONObject jsonObject, Acknowledge acknowledge) {
Log.d("SOCKET", jsonObject.toString());
}
});
client.on("event", new EventCallback() {
@Override
public void onEvent(JSONArray jsonArray, Acknowledge acknowledge) {
Log.i("DATA: ", jsonArray.toString());
Gson gson = new Gson();
}
});
mClient = client;
}
});
}
如您所见,我试图在“onConnectCompleted”函数中记录“CONNECTION COMPLETED”,但它永远不会触发,也不会记录任何内容。
我觉得这很奇怪,因为相同的代码在我的 android 手机上运行,并且当我在我的 android 手机上运行这段代码时会记录“连接完成”。最奇怪的是,当我的 Glass 连接时,在服务器上触发了 on connection 事件,我的节点服务器实际上选择了 Google Glass。
所以,谁能帮我找出为什么我的谷歌眼镜显然连接到我的 NodeJS 服务器,但在连接时没有触发任何事件。(不触发 ConnectCallback 函数,“连接完成”从未被记录)?
提前致谢,
布拉姆