
基于Netty的网络聊天室
文章平均质量分 90
本专栏使用Netty作为socket通信网关,springboot alibaba作为分布式服务框架,一步一步搭建一个类似QQ的网络聊天室。客户端界面使用JavaFX进行构建。
jforgame
技术爱好者,资深服务端开发,对游戏服务器开发有深入的研究。
喜欢Java,Go,Python等语言。
开源游戏服务器框架https://github.com/kingston-csj/jforgame。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
分布服注册socket节点
聊天客户端通过http进行账号密码验证之后,需要绑定到某一个socket节点,之后,大部分聊天消息+推送消息可以通过该socket链接实时推送给客户端。本文讲述如何将socket节点注册到nacos服务,以便于聊天客户端通过http接口获得socket连接信息。原创 2025-03-08 18:45:00 · 466 阅读 · 0 评论 -
聊天服务器分布式改造
目前的聊天室是单节点的,无论是http接口还是socket接口都在同一个进程,无法承受太多人同时在线,容灾性也非常差。本文讲述如何对该聊天室进行分布式改造的目标和实现方式。原创 2025-03-08 01:00:00 · 2101 阅读 · 0 评论 -
聊天客户端本地数据库
在使用微信这一类聊天软件,如果客户端选择桌面版或者移动版,是可以访问之前的本地记录的。本文介绍如何使用嵌入式数据库使用这一目标。原创 2024-12-21 11:39:57 · 1164 阅读 · 1 评论 -
聊天在线与离线传输文件
微信只支持一种文件发送方式,就是发送方把文件发到文件存储服务,然后接收方从文件服务器进行下载。然而,在古老的QQ软件,是支持在线传输和离线传输(微信模式)。原创 2024-11-30 22:43:52 · 1229 阅读 · 0 评论 -
聊天消息拉取与推送
微信如何实现聊天消息实时推送,消息不丢失,多设备消息共享呢。带着这个疑问,我们尝试实现一个较为合理的消息拉取机制。原创 2024-11-24 12:51:41 · 919 阅读 · 0 评论 -
聊天文本内容支持表情包
对于即时通信来说,聊天内容支持表情包,能更好表达情感。本文介绍如果在javafx客户端实现表情包效果。原创 2024-11-23 17:58:26 · 1159 阅读 · 0 评论 -
聊天适配多种消息格式
即时聊天软件有非常多的聊天内容格式,比如常用的文本,表情,文件,语音,视频,位置等等。对于这么多种格式,软件是如何传输消息,保存消息,以及客户端展示的呢。本文将介绍聊天各种格式的综合处理。原创 2024-11-23 12:19:54 · 535 阅读 · 0 评论 -
Netty网络聊天室之优雅的JavaFX界面开发
Java在服务端领域能够独占鳌头,然而,在客户端领域一直不温不火。Java的客户端技术,从AWT,SWING,SWT,一直到JAVAFX,即使每一代都有非常大的改善,但仍改变不了它尴尬的地位。不管怎样,javafx的设计理念还是非常优秀的。它借鉴了html开发的特点,将代码,界面,样式三者分离。使用java代码来控制逻辑,使用xml来设计界面,使用css来控制样式。本文将从不同的方面介绍javafx的编码方式。原创 2017-11-26 21:04:02 · 8459 阅读 · 5 评论 -
Netty网络聊天室之使用spring管理各种组件
spring是web开发的宠儿,不管mvc框架选择structs还是SpringMVC,IOC容器都是选择Spring。Spring有两个主要的作用,一个是IOC(依赖反转),另一个是AOP(面向切面编程)。在我们的聊天室,我们也将使用Spring容器来管理各种组件。原创 2017-08-10 21:04:16 · 1926 阅读 · 1 评论 -
Netty网络聊天室之心跳检测及断线重连
为了适应恶劣的网络环境,比如网络超时、闪断,客户端进程僵死,Netty需要机制来保证双方的通信能正常工作或者自动恢复。对于服务端来说,当客户端由于某些原因导致无法与服务端通信的,服务端需要主动注销与客户端的连接,减少无效链接的资源消耗。对于客户端来说,当服务进程宕机后进行重启,客户端应该能够定时检测并重新连接服务端。原创 2016-05-21 23:59:28 · 15617 阅读 · 2 评论 -
Netty网络聊天室之基础网关搭建
最近在学习Netty框架,使用的学习教材是李林锋著的《Netty权威指南》。国内关于netty的书籍几乎没有,这本书算是比较好的入门资源了。我始终觉得,学习一个新的框架,除了研究框架的源代码之外,还应该使用该框架开发一个实际的小应用。为此,我选择Netty作为通信框架,开发一个模仿QQ的聊天室。基本框架是这样设计的,使用Netty作为通信网关,使用JavaFX开发客户端界面,使用Spring作为I...原创 2016-02-17 23:28:04 · 18283 阅读 · 0 评论