聊聊开源聊天软件oim-fx

article/2025/10/25 7:28:44

    最近忽然要开发聊天软件,上网百度学习了一下。先是找到一些socket编程的文章。后来,在博客园找到这篇文章,得到一些启示:《超赞的8款开源聊天软件》

https://blog.csdn.net/huaairen/article/details/89006927

   今天有点时间,就先和大家聊一聊oim-fx。OIM是一套即时通讯的聊天系统,不仔细观察的朋友们,你们肯定认为它是qq呢!

   项目运行效果:

项目地址:https://gitee.com/oimchat/oim-fx

项目是OIM时通讯系统的桌面版客户端。主要采用JavaFX开发,支持跨平台Windows、Mac、Linux等主流系统使用。

客户端可运行文件下载地址:https://github.com/oimchat/oim-fx/releases

其他项说明

 关于服务端:  服务端目前支持Socket、WebSocket,可以方便接入其他支持这个2个协议的语言平台。

OIM时通讯系统是包含服务端和客户端整个完整体系,所以本项目以及其他客户端需要OIM的服务端支持。

OIM服务端源码地址:https://gitee.com/oimchat/oim-server

 如果只想采用服务端,并自己开发客户端,请参考文档:http://www.oimchat.com/api/doc/lvC1Ce2Hw

 为了方便调试接口,可以下载接口调试工具:https://gitee.com/oimchat/oim-im-api-tools

 Web版客户端源码地址:https://gitee.com/oimchat/oim-web

 Web版演示地址:http://web.oimchat.com

其他相关界面:

 

 


 


http://chatgpt.dhexx.cn/article/kA4fC5eT.shtml

相关文章

java实例化对象的四种方式

java实例化对象的4种方式 用new 语句创建对象,这是最常用的创建对象方法。 package test;public class Father {public void print() {System.out.println("我是father");} public static void main(String[] args) {Father f new Father();f.print();…

java实例化对象的几种方式

这里一共整理了四种方法 ①用类的new ()创建 ②用clone方法创建, 需要类实现 Cloneable 接口 ③通过反射机制创建 ④将一个对象实例化后,进行序列化,再反序列化 下面是实现代码 1)用类的new &#xff…

详解C#实例化对象的三种方式及性能对比

前言 做项目过程中有个需求要实例化两万个对象并添加到List 中,这个过程大概需要1min才能加载完(传参较多),于是开启了代码优化之旅,再此记录。 首先想到的是可能实例化比较耗时,于是开始对每种实例化方式…

父类声明子类实例化对象详解

测试代码: public class Employee {public String name;public String getType(){return "Employee";}} public class Manager extends Employee{private int money;public String getType(){return "Manager";} }public static void main(St…

java实例化对象后面添加花括号的理解分析

java实例化对象后面添加花括号的理解分析 昨天在看MyBatis官方文档时看到这么一段代码 return new SQL() {{SELECT("P.ID, P.USERNAME, P.PASSWORD, P.FIRST_NAME, P.LAST_NAME");FROM("PERSON P");if (id ! null) {WHERE("P.ID like #{id}");}…

Unity 创建/实例化对象

在程序运行过程中创建、实例化对象物体需要用到Object类中的 Instantiate 函数,例如,我们场景中有一个物体A: 现在我们想要在场景中创建五个该物体,则用Instantiate函数将该物体作为参数传入: using UnityEngine;pu…

几种对象实例化方式详解

一)对象实例化常用方式 方式一:直接new一个对象,最常用的一种。 方式二:反射,通过Class.forName("类的全限定名")。 方式三:构造器,通过Class.forName("类的全限定名")&…

yolov5剪枝 实战

(1)步骤 剪枝的一般步骤只是在正常训练的后面加上了稀疏化训练和剪枝的步骤。 (2)稀疏化训练 主要区别 稀疏化训练的代码和正常训练的代码的差别主要体现在 ①反向传播 ②优化器 ③parse_opt代码 接下来从代码执行训练简单分析…

Spark 推测执行(speculative)

一 speculative简介 在spark作业运行中,一个spark作业会构成一个DAG调度图,一个DAG又切分成多个stage,一个stage由多个Task组成,一个stage里面的不同task的执行时间可能不一样,有的task很快就执行完成了,…

INT8 中的稀疏性:加速的训练工作流程和NVIDIA TensorRT 最佳实践

INT8 中的稀疏性:加速的训练工作流程和NVIDIA TensorRT 最佳实践 文章目录 INT8 中的稀疏性:加速的训练工作流程和NVIDIA TensorRT 最佳实践结构稀疏量化在 TensorRT 中部署稀疏量化模型的工作流程案例研究:ResNet-34要求第 1 步:…

非引导方法深度补全系列——1—— 《Sparsity invariant cnns》文章细读

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 创新点 论文概述 方法详解 网络结构: 杂七杂八 总结 参考 创新点 1.提出了一种稀疏卷积层,在卷积过程中使用二进制有效性掩码来指示缺失…

模型剪枝三:Learning Structured Sparsity in Deep Neural Networks

论文:https://arxiv.org/abs/1608.03665 代码:https://github.com/wenwei202/caffe/tree/scnn 1 核心思想 前面两篇文章https://blog.csdn.net/cdknight_happy/article/details/110953977和https://blog.csdn.net/cdknight_happy/article/details/1110…

Exploring Sparsity in Image Super-Resolution for Efficient Inference

目录 原文翻译 Abstract 1. Introduction 2. Related Work 4. Our SMSR Network 4.1. Sparse Mask Generation 4.2. Sparse Mask Convolution 5. Experiments 5.1. Implementation Details 5.2. Model Analysis 5.3. Comparison with State-of-the-art Methods Conclusion …

稀疏大模型简述:从MoE、Sparse Attention到GLaM

文 | 唐工源 | 知乎 Sparsity, ..., is another important algorithmic advance that can greatly improve efficiency. 稀疏性,是(神经架构搜索)之外另一个重要的算法进步,可以大大提高效率。 The use of sparsity in models is…

Sparse Learning

Sparse Learning 本文的内容主要来自余凯老师在CVPR2012上给的Tutorial。前面在总结ScSPM和LLC的时候,引用了很多Tutorial上的图片。其实这个Tutorial感觉写的挺好的,所以这次把它大致用自己的语言描述一下。不过稀疏编码是前两年比较火的东西&#xff0…

理解sparse coding

稀疏编码系列: (一)----Spatial Pyramid 小结(二)----图像的稀疏表示——ScSPM和LLC的总结(三)----理解sparse coding(四)----稀疏模型与结构性稀疏模型 -------------…

干货!SparCL,将Sparsity用在连续学习任务,相同表现下训练效率提升23倍!

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 作者简介 王梓枫 美国东北大学博士生,主要研究方向持续学习(Continual Learning)。 个人主页:https://kingspencer.github.io/ 报告题目 SparCL: 边缘设备上的稀疏…

MORE CONVNETS IN THE 2020S: SCALING UP KER- NELS BEYOND 51 × 51 USING SPARSITY

论文链接: https://arxiv.org/pdf/2207.03620.pdf code: https://github.com/VITA-Group/SLaKlink MORE CONVNETS IN THE 2020S: SCALING UP KER- NELS BEYOND 51 51 USING SPARSITY 一、引言(二)、大内核注意力(二)、卷积中的大…

Self-supervised Learning for Label Sparsity in Computational Drug Repositioning

论文地址:Self-supervised Learning for Label Sparsity in Computational Drug Repositioning 1. Introduction 药物重定位旨在根据已知的药物-疾病关联性揭示上市药物的新用途。其背后的逻辑是:目前市场上的小分子药物具有多靶点特性,这意…

xgboost:分割Sparsity-aware Split Finding

Sparsity-aware Split Finding1 在许多现实问题中,输入 x x x是稀疏的是很常见的。造成稀疏性的可能原因有很多: 1)数据中存在缺失值; 2)统计中频繁出现零项; 3)特征工程的处理结果,如独热编码。 重要的是使算法意识到数据中…