Socket是进程通讯的一种方式,即调用这个网络库的一些API函数实现分布在不同主机的相关进程之间的数据交换。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。在InterNET上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。
在Android socket编程中如何实现消息推送(一)讲到socket编程的消息推送原理,现在我们来看看基于Android客户机socket编程实现消息推送的过程。
根据消息推送的原理图,我们的实现过程主要分为Server端和Client端,Server端采用java的编程,而Client端则用Android编程。
所以在这里也分别创建了两个工程SocketServer和SocketClient
1.SocketServer工程
我们先来看一下SocketMessage.java类:
该类是一个消息类,用于表示消息是由谁发给谁的、消息内容是什么、接收时间是多少,只有几个属性,比较简单。
而MyServer.java类就相对比较多一些代码:
2.SocketClient工程
该工程是一个Android的工程,只有一个MainActivity.java和activity_main.XML文件,
先看一下activity_main.xml布局文件:
效果图:
MainActivity.java类:
以上代码的注释都比较详细,就不再多说了。
注意:先把Android端的apk分别安装到两台手机上面,再运行SocketServer,点击SocketClient的Start,在SocketServer的控制台上面就可以看到有新的客户机增加了(确保IP地址和端口的正确前提下)。然后输入socketID(socketID表示Android客户机的一个账号,就像QQ号一样,从0开始,一个socketID表示一个客户机)和content,点击send就可以发送消息了。
¥199.00
¥179.00
¥398.00
¥98.00