androidsocket推送实现

这个代码只供初学者理解推送机制的原理,不建议使用到项目中。因为推送是一个对代码性能以及链接稳定性要求很高的东西。谢谢。
服务器端简单创建一个线程循环从ServerSocket中读取消息,并利用PrintWriter将消息推送到每一个设备。扩展可以实现基本的聊天功能。具体实现代码如下:
public Service(Socket socket) {this.socket = socket;try {in = new BufferedReader(new InputStreamReader(socket.getInputStream()));msg = "user" + this.socket.getInetAddress() + "come toal:" + mList.size();this.sendmsg();} catch (IOException e) {e.printStackTrace();}}@Overridepublic void run() {// TODO Auto-generated method stubtry {while (true) {if ((msg = in.readLine()) != null) {if (msg.equals("exit")) {System.out.println("ssssssss");mList.remove(socket);in.close();msg = "user:" + socket.getInetAddress() + "exit total:" + mList.size();socket.close();this.sendmsg();break;} else {msg = socket.getInetAddress() + ":" + msg;this.sendmsg();}}}} catch (Exception e) {e.printStackTrace();}}public void sendmsg() {System.out.println(msg);int num = mList.size();for (int index = 0; index < num; index++) {// /192.168.1.123// /192.168.1.123Socket mSocket = mList.get(index);PrintWriter pout = null;try {pout = new PrintWriter(new BufferedWriter(new OutputStreamWriter(mSocket.getOutputStream())), true);pout.println(msg);} catch (IOException e) {e.printStackTrace();}}}}

android端利用Socket监听端口来读取消息
public void run() {try {while (true) {if (socket.isConnected()) {if (!socket.isInputShutdown()) {if ((content = in.readLine()) != null) {content += "\n";mHandler.sendMessage(mHandler.obtainMessage());} else {}}}}} catch (Exception e) {e.printStackTrace();}
最后 上源码

更多相关文章

  1. 安卓巴士真诚送上营养丰富的精美Android大餐
  2. 第一个Android实例——计算器 编辑
  3. 在 Android(安卓)中调用二进制可执行程序(native executable )
  4. [Android--Tool]Android如何将他人的代码放入新建的工程中
  5. 深入浅出Android消息系统之一
  6. Android自带音乐播放器代码分析(2)
  7. 从Eclipse迁移代码到Android(安卓)Studio可能出现的异常
  8. Android学习笔记-保存文件(Saving Files)
  9. 如何查看Android里面其他应用的数据

随机推荐

  1. Android(安卓)-移动数据开发
  2. 安卓工程师 人才缺口日益显现
  3. Android(安卓)上实现水波特效
  4. Android(安卓)Studio 的代码检查功能,使用
  5. Android+Jquery Mobile学习系列(1)-开发
  6. Android(安卓)Push Notification(Android
  7. Android(安卓)Animation总结
  8. Android(安卓)日历开发教程[七] 修正后代
  9. 浅谈Android多进程APP的优势
  10. 重磅消息!eoe.cn客户端开源啦