看板 AndroidDev 關於我們 聯絡資訊
各位前輩們好 小弟android 新手 有一個app使用socket.io去連node.js 第一個activity 使用socket 接收資料做下拉式選單 第二個activity 進行客戶問答 以上都是連相同的ip 跟server 兩個activity我都寫 socket =IO.socket(url); 第二個一直沒辦法連線 我覺得socket是不是要獨立出來 但又不知道怎麼實作 懇請前輩指點迷津 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.214.215.135 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1536480127.A.28E.html
aids61517: Socket做在Service裡面 09/09 19:05
Liulian: 我猜第二個沒法連線,是因為port被佔了? 09/10 09:55
Liulian: 然後推一樓的做法 09/10 10:00
somoskylin: 謝謝兩位大大 我再看看Service的部分 09/10 16:37
somoskylin: 那請問 兩個不一樣的頁面用相同的event該怎麼辦 09/10 16:38
somoskylin: 像是使用相同的onConnect 09/10 16:39
aids61517: 多個Activity可以透過Bind Service跟Service溝通,如果 09/10 20:03
aids61517: 你的情況是多個activity需要監聽同一個event,而只有當 09/10 20:04
aids61517: 前的activity需要動作的話可以考慮用生命週期onStart及 09/10 20:04
aids61517: onStop來註冊/取消註冊 09/10 20:05
somoskylin: 謝謝你 09/10 22:11
daniel098962: 用static去宣告socket 應該就能同一個了吧 09/11 01:32
somoskylin: 請問已經連線但第二個頁面要加event是該怎麼辦,我是 09/11 10:29
somoskylin: 查到用eventbus 09/11 10:29
aids61517: 我記得socket.io要先將event註冊後才connect,如果是這 09/11 14:29
aids61517: 樣的話你必須先將需要的event註冊,接到後再分給不同的 09/11 14:29
aids61517: Activity,分配的方式簡單點可以用 09/11 14:31
aids61517: LocalBroadcastManager,或是你可以自己實作 09/11 14:32
y3k: 如果APP小 只是要驗證可行性 static足矣 真的要上場就用servi 09/11 16:13
y3k: ce吧 09/11 16:13
somoskylin: 謝謝各位前輩指點 09/12 10:18
somoskylin: 還有一點是socket io傳送中文有點不穩定,有時候是亂 09/12 10:19
somoskylin: 碼,有人用過嗎? 09/12 10:19
somoskylin: 用過->遇過 09/12 10:19