聊天程序,swing做服务器,客户端为android和swing,可以进行相互之间的通讯,实现的功能如下图:

基本思路:

启动服务器:

启动服务器线程,等待客户端的连接,启动广播线程,负责向客户端发送消息

启动客户端线程,维持服务器与单个客户端的连接,负责接收从客户端发送过来的消息

android和swing客户端:

登陆进入聊天室:获得与服务器连接的输入和输出流,进行相互之间的额通讯

客户端也是一个线程对象,用于监听从服务器发送过来的信息,并更新界面

主要实现的技术:Socket网络编程、Thread多线程

大致流程图如下:

事实上用android和swing做客户端,在编码方面是没有啥什么区别的,都是socket通讯,只是使用android在更新界面的时候,不能通过非主线程去更新,因为android是线程安全的,更新界面必须在主线程里面操作,其他方面只是控件的API不同而已:Swing中的按钮、文本框等需要在代码中new生成,android中的控件可以定义在xml文件中,减小内存使用,实际上android中的界面和swing大同小异!!

更多相关文章

  1. 浅析Android中的消息机制-解决:Only the original thread that cr
  2. Android异步消息机制之Handler
  3. Android的Handler机制详解3_Looper.looper()不会卡死主线程
  4. haproxy根据客户端浏览器进行跳转
  5. Android之Handler用法总结
  6. Android开发之消息处理机制(一)——Handler
  7. Android异步加载图像小结 (含线程池,缓存方法)
  8. 【安卓笔记】android客户端与服务端交互的三种方式
  9. android 面试题集

随机推荐

  1. Android(安卓)子fragment中获取父fragmen
  2. 【Mark】Android TextView属性详解
  3. Android中为按钮设置点击音效
  4. Android消息处理系统原理简要概述
  5. Google Android操作系统内核编译图文教程
  6. Android(安卓)机型适配之本地化
  7. android中的资源访问
  8. android-studio使用cmake编译ffmpeg实践
  9. android 触摸事件、点击事件的区别
  10. SignalR推送消息到android客户端