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