java 推送 android_在Android socket编程中如何实现消息推送_android_java推送消息_socket编程_课课家...

Socket是进程通讯的一种方式,即调用这个网络库的一些API函数实现分布在不同主机的相关进程之间的数据交换。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。在InterNET上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。

60349cfbfeafaa9085ffb666bd5b7ae2.png

在Android socket编程中如何实现消息推送(一)讲到socket编程的消息推送原理,现在我们来看看基于Android客户机socket编程实现消息推送的过程。

5561b8508f77fd0a77d9910f93a70cee.png

根据消息推送的原理图,我们的实现过程主要分为Server端和Client端,Server端采用java的编程,而Client端则用Android编程。

所以在这里也分别创建了两个工程SocketServer和SocketClient

1.SocketServer工程

278648cf74c6624874e89d7e1408aaf8.png

我们先来看一下SocketMessage.java类:

f2800a11d9f7837748a9c3441e432415.png

该类是一个消息类,用于表示消息是由谁发给谁的、消息内容是什么、接收时间是多少,只有几个属性,比较简单。

而MyServer.java类就相对比较多一些代码:

1c849d91882a7bd701af7488ab09eedf.png

231c862636fbf4a7e12a18c5d19fd058.png

568b66e03385f5cf054145203a6df753.png

34fcdd6098470d298945e03db8050ed0.png

c84b76af55512bfc99747749013c6403.png

2.SocketClient工程

a7fd6be1b4253fe033a4f48797fd062c.png

该工程是一个Android的工程,只有一个MainActivity.java和activity_main.XML文件,

先看一下activity_main.xml布局文件:

a83d665d4690de24f92ac02a69bca7d3.png

a9e496501f1cd7c68e01e6d24c912f83.png

效果图:

11cb44efd4e8b9a293eb25caa199e683.png

MainActivity.java类:

0a8c2c2fb8081230a921518b904d017c.png

4a518a0458bd3bed78e4da676d91a461.png

5357fb164b8d7daf26e83cdb67a2a52c.png

949b356e68b448a64af6e412022208b2.png

5ce368a8ecb5123ffcab6ed5a57c191d.png

68455e98b27be67106d160a381fc6a52.png

以上代码的注释都比较详细,就不再多说了。

注意:先把Android端的apk分别安装到两台手机上面,再运行SocketServer,点击SocketClient的Start,在SocketServer的控制台上面就可以看到有新的客户机增加了(确保IP地址和端口的正确前提下)。然后输入socketID(socketID表示Android客户机的一个账号,就像QQ号一样,从0开始,一个socketID表示一个客户机)和content,点击send就可以发送消息了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值