如题。

如题。
我这个系统是web端的,看大家的意思webSocket就够了。
另外问一下,数据存储呢?有什么好的建议嘛?MySql???
1 jiaokang Jan 7, 2021 MQTT |
2 wysnylc Jan 7, 2021 |
3 Leigg Jan 7, 2021 via iPhone 当然,不是了,了解一下长连接技术。 |
4 woodensail Jan 7, 2021 前端常用的推送方式分 4 种 1:短轮询,也就是定期刷新,实时性无法保证,不适用于 IM 2:长轮询,发起请求后服务端挂起,等有通知后返回数据。前端收到后立刻发起下一次请求。改动较小 3:长连接,发起请求后服务端利用该连接多次返回数据。改动较大 4:websocket,双工通信,体验完爆上面所有。开发难度也不大。 |
5 manami Jan 7, 2021 java 直接上 netty |
6 whileFalse Jan 7, 2021 如果你客户端是 web 页面,只能用 websocket (轮询或长链接也能实现,但效果性能差很多) 如果客户端是 native,选择就多很多。 |
7 xxxy Jan 7, 2021 500 个 websocket 链接压力不大 |
8 yfwl Jan 7, 2021 调用第三方 SDK,万物皆可 API ! |
9 lancelock Jan 7, 2021 取决于你客户端 |
10 opengps Jan 7, 2021 并没有限制,哪怕用轮训也并不是说不可以。websocket 只是在浏览器端比较轻巧而已。 如果要做的客户端,那么显然直接使用 socket 更方便 难点不在客户端,而在于服务端,怎么支持不限制(高支持≈不限制)客户端数量,各种异常处理,转发消息,头一次接手的人还是有很多细节要处理的 |
11 hyxj1229 Jan 7, 2021 |
12 mango88 Jan 7, 2021 openfire |
13 gochat Jan 7, 2021 |
14 genal Jan 7, 2021 https://github.com/genaller/genal-chat 有个现成的 web 聊天系统,内网或者带宽够五百人是可以的,fiora 也不错 |
15 firechat Jan 7, 2021 IM 要想做好需要花费非常多时间和精力,如果没有办法投入大量人力和时间,最好别自己来开发。可以选用云通讯平台,直接使用他们的 sdk 就行,也可以选择使用我们的 https://github.com/wildfirechat 私有部署,需要有一定的定制开发和运维能力,需要付费,可以先试用后购买。 |
16 hantsy Jan 7, 2021 web socket 处理这点小意思啊,不过后面的 Web socket session 处理需要另外缓冲处理( Redis 等)。客户端也容易,Android,WebSocket 都是很容易支持。 简单的 WebSocket 例子: https://github.com/hantsy/angular-spring-websocket-sample RSocket 例子: https://github.com/hantsy/angular-spring-rsocket-sample SSE+ 普通 HTTP Post (这个比较简单,也容易处理): https://github.com/hantsy/angular-spring-sse-sample |
17 hantsy Jan 7, 2021 |
18 hantsy Jan 7, 2021 另外对于聊天这种程序,要求即时响应,文本居本,Key/value 数据库是更好的选择。 我开发过一个 Angular+Firebase 项目,Firebase 本身的 JS API 都基于 WebSocket 协议的,所以感觉这也是个不错的选择。Firebase 官方还有专门的 Chat UI 扩展。 |
19 chinvo Jan 7, 2021 via iPhone 直接 ejabberd |
20 oxromantic Jan 7, 2021 500 人聊天?自己做还不如花钱一个月 999 有成吨的供应商 |
21 azuremem Jan 7, 2021 rabbitmq 貌似可以 |
22 iintothewind Jan 7, 2021 via iPhone |
24 GBdG6clg2Jy17ua5 Jan 7, 2021 via iPhone 500 人,直接短轮询 |
25 Goat121 Jan 7, 2021 500 人随便啥都行,webSocket 最简单。 上面还有 RabbitMQ 都来了,面试八股文看多了把。 如果是需要 MQ 的量级,还用这些? 哪个巨型 IM 不是 tcp/udp 上实现的私有协议啊 |
26 xcstream Jan 8, 2021 mqtt broker 可以单独启动 java 可以做业务端连接 mqtt 提供服务 |