All Projects → IM-Tools → go-im

IM-Tools / go-im

Licence: Apache-2.0 license
基于Golang编写的高性能im服务器 🚀

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to go-im

Co
Art of C++. Flag, logging, unit-test, json, go-style coroutine and more.
Stars: ✭ 2,264 (+929.09%)
Mutual labels:  tcp, rpc
Iot Dc3
IOT DC3 is an open source, distributed Internet of Things (IOT) platform based on Spring Cloud. It is used for rapid development of IOT projects and management of IOT devices. It is a set of solutions for IOT system.
Stars: ✭ 195 (-11.36%)
Mutual labels:  tcp, rpc
Nettychat
基于Netty+TCP+Protobuf实现的Android IM库,包含Protobuf序列化、TCP拆包与粘包、长连接握手认证、心跳机制、断线重连机制、消息重发机制、读写超时机制、离线消息、线程池等功能。
Stars: ✭ 1,979 (+799.55%)
Mutual labels:  tcp, im
Jstp
Fast RPC for browser and Node.js based on TCP, WebSocket, and MDSF
Stars: ✭ 132 (-40%)
Mutual labels:  tcp, rpc
RRQMSocket
TouchSocket是.Net(包括 C# 、VB.Net、F#)的一个整合性的、超轻量级的网络通信框架。包含了 tcp、udp、ssl、http、websocket、rpc、jsonrpc、webapi、xmlrpc等一系列的通信模块。一键式解决 TCP 黏分包问题,udp大数据包分片组合问题等。使用协议模板,可快速实现「固定包头」、「固定长度」、「区间字符」等一系列的数据报文解析。
Stars: ✭ 286 (+30%)
Mutual labels:  tcp, rpc
Hprose Js
Hprose is a cross-language RPC. This project is Hprose 2.0 RPC for JavaScript
Stars: ✭ 133 (-39.55%)
Mutual labels:  tcp, rpc
Swoft Im
基于swoft-cloud的微服务架构,最小化拆分粒度,PHP7、多进程、协程、异步任务、mysql连接池、redi连接池、rpc连接池、服务治理、服务注册与发现、Aop切面、全注解
Stars: ✭ 189 (-14.09%)
Mutual labels:  tcp, rpc
Netty Stroll
RPC基础通信框架
Stars: ✭ 77 (-65%)
Mutual labels:  tcp, rpc
Hprose Html5
Hprose is a cross-language RPC. This project is Hprose 2.0 Client for HTML5
Stars: ✭ 237 (+7.73%)
Mutual labels:  tcp, rpc
Watsontcp
WatsonTcp is the easiest way to build TCP-based clients and servers in C#.
Stars: ✭ 209 (-5%)
Mutual labels:  tcp, rpc
Simpletcp
Simple wrapper for TCP client and server in C# with SSL support
Stars: ✭ 99 (-55%)
Mutual labels:  tcp, rpc
micro-service-practice
OpenStack+Docker+RestAPI+OAuth/HMAC+RabbitMQ/ZMQ+OpenResty/HAProxy/Nginx/APIGateway+Bootstrap/AngularJS+Ansible+K8S/Mesos/Marathon构建/探索微服务最佳实践。
Stars: ✭ 25 (-88.64%)
Mutual labels:  rabbitmq, rpc
Pool
General Purpose Connection Pool for GRPC,RPC,TCP Sevice Cluster
Stars: ✭ 98 (-55.45%)
Mutual labels:  tcp, rpc
Ti Rpc
基于swoole封装的一个简易的JSON协议的RPC框架,思路是借鉴的,代码是自己写的。小修小改的,目前服务于前公司(注意是前公司)生产环境,每日支撑大约8000万次调用。
Stars: ✭ 144 (-34.55%)
Mutual labels:  tcp, rpc
T Io
解决其它网络框架没有解决的用户痛点,让天下没有难开发的网络程序
Stars: ✭ 1,331 (+505%)
Mutual labels:  tcp, im
Gff
GFF is a imitation QQ communication project, based on high IOCP. GFF是模仿QQ通讯项目,通信基于SAEA.MessageSocket、SAEA.Http、SAEA.MVC实现
Stars: ✭ 162 (-26.36%)
Mutual labels:  tcp, im
Easychatandroidclient
EasyChat是一个开源的社交类的App。主要包含消息、好友、群组等相关的IM核心功能。部分界面参照了QQ、微信等相关社交APP。EasyChat APP整体采用MVVM模式,基于JetPack(Lifecycle,LiveData,ViewModel,Room)构建
Stars: ✭ 64 (-70.91%)
Mutual labels:  tcp, im
Gochat
goim server write by golang !🚀
Stars: ✭ 1,144 (+420%)
Mutual labels:  tcp, im
Asio2
Header only c++ network library, based on asio,support tcp,udp,http,websocket,rpc,ssl,icmp,serial_port.
Stars: ✭ 202 (-8.18%)
Mutual labels:  tcp, rpc
SuperSimpleTcp
Simple wrapper for TCP client and server in C# with SSL support
Stars: ✭ 263 (+19.55%)
Mutual labels:  tcp, rpc

GO-IM



旧版本停止维护⚠️ 新版本地址:https://github.com/IM-Tools/Im-Services

这是一个由golang编写的高性能IM服务器 📦📦📦

支持以下功能

  • 支持账号密码、微博登录
  • 单聊消息、群聊消息、离线消息同步
  • 支持单机部署、集群部署
  • 多设备登录
  • 客户端:web端、桌面应用

一些库的使用。

  • 支持cors跨域
  • 集成mysql、redis、协程池
  • jwt签名认证
  • zap日志收集
  • viper配置文件解析
  • swag接口文档生成
  • rabbitmq存储离线消息
  • 集群服务使用grpc向不同服务节点投递消息

架构梳理

安装使用

安装redis

docker pull redis

docker run -p 6379:6379 --name redis
-v /data/redis/redis.conf:/etc/redis/redis.conf
-v /data/redis/data:/data
-d redis redis-server /etc/redis/redis.conf --appendonly yes

安装mysql

docker pull mysql
docker run --name mysqlserver -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 3306:3306 mysql:latest

安装rabbitmq

docker pull rabbitmq
docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq

安装项目

git close https://github.com/IM-Tools/go-im.git
cd go-im

配置.env 调整.env文件配置

cp .env.example .env

启动

go run main.go

桌面端

软图 软图 软图

web登录 效果图

golang+vue3开发的一个im应用

golang+vue3开发的一个im应用

golang+vue3开发的一个im应用

golang+vue3开发的一个im应用

前端源码

桌面端

学习交流

QQ:2540463097

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].