android 手机之间(机顶盒之间) 应用的交互(服务)

windfury_plus 2014-10-10 04:53:04
现在有个需求,一台手机(机顶盒)上的应用发送个请求,可以使另一台已经打开该应用的手机(机顶盒)接受到一个请求。
这个是android的服务么?
能否给点思路,最好是例子代码。因为没什么经验~

我的想法之一:
因为打开这个应用的人可能非常非常多(例如上万),
所以必须标识每个应用的身份,可能要启动应用时分配个唯一标识,并注册到一台服务器上。
然后想要发送请求的应用,可以查看目前服务器上的用户(打开的应用),选择某个特定的再发送请求。

不过问题是,这个注册是否是要获取手机或机顶盒的IP?但是IP貌似有可能变动。

应该没有想的那么容易……怎么入手呢?
...全文
379 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunjianjiayou000 2014-10-13
  • 打赏
  • 举报
回复
udp,xmpp协议,类似即时通信
Kifile 2014-10-13
  • 打赏
  • 举报
回复
怎么可能使用 Ip进行标识呢? 你可以这么实现,用户第一次登陆时,服务器分配给他一个唯一标志位进行识别身份,此后用户每次进行轮询时都要带上此标志位表明身份 如果有账号系统,则登陆后替换为账号的 token, 用户申明发送人所申明的数据就应该是对应用户的标志位 当对应用户轮询数据时,服务器根据标识位判断该用户有无新数据,然后进行消息传递
windfury_plus 2014-10-13
  • 打赏
  • 举报
回复
关于2楼说的第三点: 每个手机或机顶盒在服务器端注册用的是什么辨别的,我想的话用如果是ip很明显可以完成。但有内网、外网之分,还有ip又是非固定的,特别是手机会不会变来变去的。 如果不是用ip,那么如何实现的呢,最好给个demo例子链接。
windfury_plus 2014-10-13
  • 打赏
  • 举报
回复
引用 2 楼 kifile 的回复:
1.你要标记每一个用户的身份, 2.用户发送请求的时候,应该指明发送给那些人,或者所有人,并在服务器记录 3.指定的用户的应用从服务器获取消息(类似轮询,或者 socket)时,判断用户身份,如果有消息,就通知用户
您说道第二点用:DatagramPacket packet = new DatagramPacket(data,data.length, (InetAddress)ip地址, 端口号);完成了 第三点通知用户,是用于注册的手机或机顶盒的ip地址么?如果答案是肯定的,那么手机或机顶盒的ip是非固定,会造成多少麻烦呢?
windfury_plus 2014-10-13
  • 打赏
  • 举报
回复
引用 1 楼 lilidejing 的回复:
用TCP/IP协议通信吧
用udp,可靠性基本够用。
jzp12 2014-10-11
  • 打赏
  • 举报
回复
楼上正解,采用CS模式。
Kifile 2014-10-11
  • 打赏
  • 举报
回复
1.你要标记每一个用户的身份, 2.用户发送请求的时候,应该指明发送给那些人,或者所有人,并在服务器记录 3.指定的用户的应用从服务器获取消息(类似轮询,或者 socket)时,判断用户身份,如果有消息,就通知用户
新靖界 2014-10-11
  • 打赏
  • 举报
回复
用TCP/IP协议通信吧

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧