Giter VIP home page Giter VIP logo

inchat's Introduction

Image text

官网 QQ群 作者 Netty入门 Maven

申明

本项目入驻AwakenCN开源组织,后续将继续更新调整,部分API后续会更改,感谢每一位朋友的支持与关注。

简介

(InChat)Iot Netty Chat

一个轻量级、高效、分布式的异步通信框架, 支持聊天和物联网, 您可以使用它来快速构建具有后台的聊天服务器, 并快速自定义自己的通信 api, 包括具有不同的通讯可以支持的协议。

Maven版本

功能列表:

  • 用户token登录校验
  • 自我聊天
  • 点对点聊天
  • 群聊
  • 获取在线用户数与用户标签列表
  • 发送系统通知
  • 1.1.3版本新增SSL加密,分布式测试点对点、群聊功能(分布式为试用版,暂不支持SSL加密)
  • 1.1.4版本修改数据存储问题,并提供SpringBoot-Demo
<dependency>
    <groupId>com.github.UncleCatMySelf</groupId>
    <artifactId>InChat</artifactId>
    <version>1.1.4</version>
</dependency>

历史版本说明

教程

项目相关

相关资料(欢迎贡献)

效果展示

加密 分布式 demo log postman send

下载地址

下载地址:https://github.com/UncleCatMySelf/SBToNettyChat/releases

下载 & 问题

https://github.com/UncleCatMySelf/SBToNettyChat/issues

关于贡献

!Noseparte说: 开源项目InChat贡献记

公众号:Java猫说

学习交流群:728698035

现架构设计(码农)兼创业技术顾问,不羁平庸,热爱开源,杂谈程序人生与不定期干货。

Image Text

inchat's People

Contributors

erichetti avatar hackercat1994 avatar noseparte avatar unclecatmyself avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

inchat's Issues

【项目组】未来InChat的项目形式讨论

inchat将发布1.1.5版本,作为作者,我也有了一些不同的想法,希望各位朋友可以给出你们工作中或者使用中的一些建议。

1、以Maven包的形式,集成的自己项目内部

  • 框架不集成SpringBoot等web框架
  • 数据存储的形式较为麻烦
  • 需要了解框架的api

2、以独立项目的形式,开箱即用的即时通信IM

启动自带的demo出现异常了

新人,这个一场请问是怎么回事呢,没做什么修改,就改了数据库地址
2020-04-27 16:38:21.523 INFO 5192 --- [ WORK_1] c.g.u.bootstrap.handler.DefaultHandler : [DefaultWebSocketHandler.channelActive]/10.19.9.176:62643链接成功
FullHttpRequestDefaultFullHttpRequest(decodeResult: failure(java.lang.IllegalArgumentException: invalid version format: ]IÊN.8À�Z±�²ÓU =), version: HTTP/1.0, content: UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf(ridx: 0, widx: 0, cap: 0))
GET /bad-request HTTP/1.0
/bad-request
2020-04-27 16:38:21.547 INFO 5192 --- [ WORK_1] c.g.u.bootstrap.handler.DefaultHandler : [DefaultWebSocketHandler.httpdoMessage.NOTFINDURI]
2020-04-27 16:38:21.549 INFO 5192 --- [ WORK_1] c.g.u.b.c.http.HttpChannelServiceImpl : [HttpChannelServiceImpl.close] 关闭HTTP通道连接
2020-04-27 16:38:21.551 INFO 5192 --- [ WORK_1] c.g.unclecatmyself.common.base.Handler : [Handler:channelInactive]0.0.0.0/0.0.0.0:8090关闭成功
2020-04-27 16:38:21.551 ERROR 5192 --- [ WORK_1] c.g.unclecatmyself.common.base.Handler : [捕获异常:NotFindLoginChannlException]-[Handler:channelInactive] 关闭未正常注册链接!
1587976733(1)

服务端 判断用户是否在线

服务端 根据token判断用户是否在线方法
使用场景,当在线用户a发送信息给 离线用户b
后台需要判断b用户是否在线,如果不在线则把消息写到数据库中,并且标注为未读信息。
当用户上线时,读取自己的未读消息,进行查阅。

TODO LIST

  • 1.聊天记录的数据库保存
  • 2.离线消息的推送
  • 3.文件的传输

小白请教问题

您好 我是一个android 小白,目前工作需要使用 netty + mqtt 来尝试和 客户端硬件通信,想加个 您的qq 请教一些问题?方便么

http三个接口请求路径地址名字不一致

比如服务器端推送 send_from_server,为什么还有一个/uri_send_from_server。
看了你的版本介绍1.1.2的使用,截图也是用:[ip:端口]/send_from_server (POST请求),
实际我测试使用发现使用[ip:端口]/uri_send_from_server才行,是我哪里用错了吗?
正在学习,我新手想问下,在controller层中调用send_from_server能进行服务端推送吗?

为什么每次开启新的连接,都发生异常断开呢

open ssl success
2020-04-29 10:37:19.176 INFO 13184 --- [ WORK_1] c.g.u.bootstrap.handler.DefaultHandler : [DefaultWebSocketHandler.channelActive]/10.19.9.176:55694链接成功
2020-04-29 10:37:19.206 INFO 13184 --- [ WORK_1] c.g.u.bootstrap.handler.DefaultHandler : [DefaultWebSocketHandler.exceptionCaught]/10.19.9.176:55694异常断开
2020-04-29 10:37:19.207 INFO 13184 --- [ WORK_1] c.g.unclecatmyself.common.base.Handler : [Handler:channelInactive]0.0.0.0/0.0.0.0:8090关闭成功
2020-04-29 10:37:19.207 ERROR 13184 --- [ WORK_1] c.g.unclecatmyself.common.base.Handler : [捕获异常:NotFindLoginChannlException]-[Handler:channelInactive] 关闭未正常注册链接!
2020-04-29 10:37:19.209 INFO 13184 --- [ WORK_1] c.g.u.bootstrap.handler.DefaultHandler : [DefaultWebSocketHandler.exceptionCaught]/10.19.9.176:55694异常断开
open ssl success
2020-04-29 10:37:19.272 INFO 13184 --- [ WORK_2] c.g.u.bootstrap.handler.DefaultHandler : [DefaultWebSocketHandler.channelActive]/10.19.9.176:55695链接成功
TextWebSocketFrameTextWebSocketFrame(data: PooledUnsafeDirectByteBuf(ridx: 0, widx: 31, cap: 31))
2020-04-29 10:37:19.311 INFO 13184 --- [ WORK_2] c.g.u.bootstrap.handler.DefaultHandler : [DefaultWebSocketHandler.textdoMessage.LOGIN]

pom.xml 版本号抽取

<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> <redis.clients.version>3.0.1</redis.clients.version> <slf4j.version>1.7.25</slf4j.version> <fastjson.version>1.2.53</fastjson.version> <gson.version>2.8.5</gson.version> <netty.version>4.1.32.Final</netty.version> <commons.lang3.version>3.0.1</commons.lang3.version> </properties>

demo的发送图片功能貌似是有问题嗷

TextWebSocketFrameTextWebSocketFrame(data: PooledUnsafeDirectByteBuf(ridx: 0, widx: 50, cap: 50))
2020-04-28 09:59:54.817 INFO 9572 --- [ WORK_2] c.g.u.bootstrap.handler.DefaultHandler : 图片到个人
1111
{}
2020-04-28 09:59:54.828 INFO 9572 --- [ WORK_2] c.g.u.bootstrap.handler.DefaultHandler : [DefaultWebSocketHandler.exceptionCaught]/10.19.9.176:53046异常断开
2020-04-28 09:59:54.832 INFO 9572 --- [ WORK_2] c.g.unclecatmyself.common.base.Handler : [Handler:channelInactive]0.0.0.0/0.0.0.0:8090关闭成功

wss未能正常连接

@UncleCatMySelf

use isSSL=true
使用chrome浏览器客户端未显示不安全的链接,导致添加不了证书。

`
open ssl success
INFO - [DefaultWebSocketHandler.channelActive]/10.0.75.1:55663链接成功
INFO - [DefaultWebSocketHandler.exceptionCaught]/10.0.75.1:55663异常断开
INFO - [Handler:channelInactive]0.0.0.0/0.0.0.0:8070关闭成功
ERROR - [捕获异常:NotFindLoginChannlException]-[Handler:channelInactive] 关闭未正常注册链接!
INFO - [DefaultWebSocketHandler.exceptionCaught]/10.0.75.1:55663异常断开

`

服务端 用户上下线通知

用户上线时需要 获取未读的消息,未读信息可以自己业务里处理,需要框架提供用户上线通知方法。
用户下线时需要 告诉系统自己是下线状态,同用户上线一致

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.