Android通过socket和服务器通讯,是一种比较常用的通讯方式,大概可以有以下的思路:
1.开启一个线程发送消息,SocketOutputThread
消息是放在队列里的,当有消息后,进入队列,线程唤醒,发送消息,并反馈发送是否成功的回调
2.开启一个线程接收服务器消息SocketInputThread
为了防止一直收数据,浪费电池的电,采用NIO的方式读socket的数据,这个是本文的关键
3.开启一个线程,做心跳,防止socket连接中断,SocketHeartThread
4.构建SocketThreadManager对以上三个thread进行管理
5.构建TCPClient发送socket消息
在NIO的方式实现TCP,特别是在接收服务器的数据,不用写个线程定时去读了。