java socket聊天室和私聊,使用socket实现网络聊天室和私聊功能

使用socket技术实现网络聊天室和私聊功能,具体内容如下

话不多说先上图:

1、聊天室群聊页面

30bee302b3220056a072953082bb6d61.png

在线用户的联系人列表

76e64e4de427cab6a8ec89fc168aa078.png

socket连接页面

aa072966987256d89ca88b3289d4da56.png

私聊页面

6603f1af0299a35c36afd1f21424e82c.png

项目介绍

与服务端实现socket连接:每个客户端连接到服务器的时候,服务器会将每个连接的socket保存在list集合中。

群聊功能:当有一个用户发送群聊消息给服务器的时候,服务器会将所有信息转发给list列表中的所有已连接的客户端。

私聊功能:用户发送私聊信息给服务器后,服务器会向一个目标ip发送消息。

显示在线联系人列表:当有新用户登录成功的时候,服务器会将在线联系人的信息用json字符串的形式发送给客户端,客户端通过解析json字符串来获取在线联系人的信息。

自定义一个强大的类socketevent:客户端与服务器通信全部都是通过这个类来保存数据的,然后使用fastjson工具来把类对象转换为json字符串来传输。

type: 标志当前发送的信息是什么类型的信息。服务端和客户端解 析数据就是通过这个它来判断属于哪种类型的消息

keyip:客户端消息发起者的ip地址

temperoryip:临时的ip地址,如果是type是私聊类型的那么这个ip代表的就是目标联系人的ip地址

服务端代码 (serversocket)

1. 接收客户端的连接

2.开启线程实时接收来自客户端的信息

3. 向指定ip发送消息的方法和除了自己ip向其他所有ip发送消息的方法

客户端在mainactivity中接受来自服务端的所有信息,根据type来进行再次分装,使用eventbus将信息发送给各个fragment来进行展示

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://blog.csdn.net/jike_chengwei/article/details/71194151

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值