java im 框架_Netty实战:设计一个IM框架

本文介绍了如何使用Netty构建一个名为bitchat的IM即时通讯框架。通过ServerFactory获取Server实例启动服务端,客户端通过SimpleClientFactory连接服务端。bitchat支持登录、查看在线用户、发送单聊消息等功能。此外,它还包含健康检查、心跳机制、断线重连和自定义协议等特性,以确保稳定性和可靠性。
摘要由CSDN通过智能技术生成

来源:逅弈逐码

bitchat 是一个基于 Netty 的 IM 即时通讯框架

项目地址:

https://github.com/all4you/bitchat

c557dda4cd6774405325216b58d2a9be.png

快速开始

bitchat-example 模块提供了一个服务端与客户端的实现示例,可以参照该示例进行自己的业务实现。

启动服务端

要启动服务端,需要获取一个 Server 的实例,可以通过 ServerFactory 来获取。

目前只实现了单机模式下的 Server ,通过 SimpleServerFactory 只需要定义一个端口即可获取一个单机的 Server 实例,如下所示:

public class StandaloneServerApplication {

public static void main(String[] args) {

Server server = SimpleServerFactory.getInstance()

.newServer(8864);

server.start();

}

}

服务端启动成功后,将显示如下信息:

61591598b65d44719d72fbe74361e000.png

启动客户端

目前只实现了直连服务器的客户端,通过 SimpleClientFactory 只需要指定一个 ServerAttr 即可获取一个客户端,然后进行客户端与服务端的连接,如下所示:

public class DirectConnectServerClientApplication {

public static void main(String[] args) {

Client client = SimpleClientFactory.getInstance()

.newClient(ServerAttr.getLocalServer(8864));

client.connect();

doClientBiz(client);

}

}

客户端连接上服务端后,将显示如下信息:

6690454505be686ddba6be0b3994e210.png

体验客户端的功能

目前客户端提供了三种 Func,分别是:登录,查看在线用户列表,发送单聊消息,每种 Func 有不同的命令格式。

登录

通过在客户端中执行以下命令 -lo houyi 123456 即可实现登录,目前用户中心还未实现,通过 Mock 的方式实现一个假的用户服务,所以输入任何的用户名密码都会登录成功,并且会为用户创建一个用户id。

登录成功后,显示如下:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值