Android Socket 聊天工具(一个服务端实现多个客户端间通信)

本文介绍了一个使用Android Socket实现的TCP协议聊天工具,支持多客户端间通信。作者分享了程序设计思路,包括客户端的登录、好友列表和聊天界面的实现,以及服务端的连接监听、好友列表发送和消息处理。建议在开始编程前明确需求并规划思路,以避免不必要的修改。程序包含了用户登录、好友列表展示、聊天功能以及服务端的连接管理和消息广播等功能。
摘要由CSDN通过智能技术生成

程序开源,共同学习。最近在学Android,做了一个由Socket实现的基于TCP协议的聊天工具,用一个服务端支持多个客户端之间的交流 通信。虽然本人之前做过蓝牙控制小车的软件,但这次做起来也花了不少时间。没办法,谁叫本人还是只菜鸟,所以下面有哪些说得不当的地方,还请各位多多包涵哦!!  

如果某位朋友也打算做这个Socket聊天工具,本人有个小小的建议,你可以不必太着急些代码,先想清楚自己最终要做到怎样效果,然后把自己的思路都写下来,有一个基本的实现方法。在写代码时就按照自己的思路一步一步地写下去,这样可以很好地避免写代码时由于思路不清左删右改


以下是本人程序的设计思路

    客户端设计思路:

  一 用户登录界面

1 用一个EditText作为用户名输入口,用一个按键确定。

2 注册一个广播接收器,专门接收由后来的聊天界面发过来的消息广播(包括发信人,收信人,消息体)。

3 创建一个客户端连接服务端的方法(要在线程中启动该方法),连接成功并获取输入输出流以后,再在里面启动一个输入流管理线程(接受并处理由服务端发送过来的消息)。并通过intent启动下一个好友列表界面(同时把自身用户名发给下一界面)。

4 对于输入流管理线程,要先判断接收到的是好友名单还是聊天消息发送两种广播,(服务端发送两种信息时可以加个标签以便线程区分)。然后分发出两种广播,一种广播后面的好友列表界面接受的在线好友名单,另一种广播出聊天界面接收的聊天信息。

5 在菜单下做一个退出Activity按键,方便用户退出程序。

6 当一切准备好以后,用户在输入用户名并点击确定,就可以实现以上操作,同时进入了好友列表界面(前提是能正确连接上服务端)。

                

  二 好友列表界面

1 注册一个广播接收器,专门接收由登录界面的输入流管理线程发送过来的好友名单广播

2 用listView逐个显示好友名单。

3 获取用户登录界面发过来的自身用户名。

4 给listView绑定一个监听器,当用户点击listView上的某一好友时,通过intent启动下一个聊天界面,并把所点击到的好友用户名以及自身用户名发给下一个界面。

               

 

  三 聊天界面

1 获取好友列表界面发送过来的聊天好友用户名以及自身用户名,并在Title上显示。

2 用一个EditText作为聊天消息输入口,用一个按键确定输出。

3 当用户点击确定以后,发送一个消息广播(包含发信人,收信人,消息体),让用户登录界面的消息广播接收器接收。

4 注册一个广播接收器接受用户登录界面的输入流管理线程发送过来的消息。

              

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值