我試圖讓我的Google Glass和我的android手機連接到在我的電腦上運行的一個NodeJs服務器,以便我可以從我的android手機發送消息到我的Google Glass。谷歌眼鏡上的Socket.io客戶端
對於這個Im使用koush的AndroidAsync庫,這在我的android手機上效果很好,而且我完全沒有麻煩將這個庫連接到NodeJS服務器。
但是,相同的代碼似乎不適用於我的Google Glass。我的Google Glass DOES連接,因爲我的NodeJS服務器的連接事件處理程序被觸發,它似乎不會觸發我的Google Glass上的任何ConnectCallback功能。
這裏是我的谷歌眼鏡應用程序中使用即時通訊代碼:
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」的功能,但它從不開火,也沒有任何記錄。
我覺得這很奇怪,因爲相同的代碼在我的android手機上工作,當我在我的android手機上運行這段代碼時,會記錄「CONNECTION COMPLETED」。最奇怪的是,當Glass連接時,我的節點服務器實際上選取了Google Glass,因爲在服務器上觸發了連接事件。
因此,任何人都可以幫助我找出爲什麼我的Google Glass顯然連接到我的NodeJS服務器,但在連接時不會觸發任何事件。 (不會觸發ConnectCallback功能,「CONNECTION COMPLETED」從不記錄)?
由於提前,
布拉姆
您能否指定您的Glass是直接連接到您的Wifi網絡還是通過手機的藍牙連接? – Alain 2014-10-17 15:16:36
它通過wifi直接連接,但我設法弄清楚發生了什麼問題。出於某種原因,我的ADT安裝沒有顯示日誌,重新啓動它幾次後,它現在的作品! – Brambo48 2014-10-27 22:47:46
[koush AndroidAsync Socket.IO可能重複:看起來ConnectCallback()在Google Glass上未觸發](http://stackoverflow.com/questions/26370624/koush-androidasync-socket-io-looks-like-connectcallback-是 - 不觸發式) – 2014-11-05 12:10:07