【发布时间】:2014-12-12 00:28:11
【问题描述】:
我正在尝试让我的 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”,但它从未触发,也没有记录任何内容。
我觉得这很奇怪,因为在我的安卓手机上运行相同的代码并且当我在我的安卓手机上运行这段代码时会记录“连接完成”。最奇怪的是,当我的 Glass 连接时,在服务器上触发了 on connection 事件,我的节点服务器实际上选择了 Google Glass。
那么,谁能帮我找出为什么我的 Google Glass 明显连接到我的 NodeJS 服务器,但在连接时没有触发任何事件。 (不触发 ConnectCallback 函数,永远不会记录“CONNECTION COMPLETED”)?
提前致谢,
布拉姆
【问题讨论】:
-
您能否指定您的 Glass 是直接连接到您的 Wifi 网络还是通过手机的蓝牙连接?
-
它直接通过wifi连接,但我设法弄清楚出了什么问题。出于某种原因,我安装的 ADT 没有显示日志,在重新启动几次后它现在可以工作了!
标签: android node.js socket.io google-glass androidasync-koush