作者somoskylin (八七booboo)
看板AndroidDev
标题[问题] activities 使用同个socket
时间Sun Sep 9 16:02:05 2018
各位前辈们好
小弟android 新手
有一个app使用socket.io去连node.js
第一个activity
使用socket 接收资料做下拉式选单
第二个activity
进行客户问答
以上都是连相同的ip 跟server
两个activity我都写 socket =IO.socket(url);
第二个一直没办法连线
我觉得socket是不是要独立出来
但又不知道怎麽实作
恳请前辈指点迷津
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 49.214.215.135
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1536480127.A.28E.html
1F:推 aids61517: Socket做在Service里面 09/09 19:05
2F:→ Liulian: 我猜第二个没法连线,是因为port被占了? 09/10 09:55
3F:→ Liulian: 然後推一楼的做法 09/10 10:00
4F:→ somoskylin: 谢谢两位大大 我再看看Service的部分 09/10 16:37
5F:→ somoskylin: 那请问 两个不一样的页面用相同的event该怎麽办 09/10 16:38
6F:→ somoskylin: 像是使用相同的onConnect 09/10 16:39
7F:推 aids61517: 多个Activity可以透过Bind Service跟Service沟通,如果 09/10 20:03
8F:→ aids61517: 你的情况是多个activity需要监听同一个event,而只有当 09/10 20:04
9F:→ aids61517: 前的activity需要动作的话可以考虑用生命周期onStart及 09/10 20:04
10F:→ aids61517: onStop来注册/取消注册 09/10 20:05
11F:→ somoskylin: 谢谢你 09/10 22:11
12F:推 daniel098962: 用static去宣告socket 应该就能同一个了吧 09/11 01:32
13F:→ somoskylin: 请问已经连线但第二个页面要加event是该怎麽办,我是 09/11 10:29
14F:→ somoskylin: 查到用eventbus 09/11 10:29
15F:推 aids61517: 我记得socket.io要先将event注册後才connect,如果是这 09/11 14:29
16F:→ aids61517: 样的话你必须先将需要的event注册,接到後再分给不同的 09/11 14:29
17F:→ aids61517: Activity,分配的方式简单点可以用 09/11 14:31
18F:→ aids61517: LocalBroadcastManager,或是你可以自己实作 09/11 14:32
19F:→ y3k: 如果APP小 只是要验证可行性 static足矣 真的要上场就用servi 09/11 16:13
20F:→ y3k: ce吧 09/11 16:13
21F:→ somoskylin: 谢谢各位前辈指点 09/12 10:18
22F:→ somoskylin: 还有一点是socket io传送中文有点不稳定,有时候是乱 09/12 10:19
23F:→ somoskylin: 码,有人用过吗? 09/12 10:19
24F:→ somoskylin: 用过->遇过 09/12 10:19