服务器端口说明

服务器使用了多个端口:1883用户tcp长链接,8083用于websocket长链接(暂未实现),80用户http连接。18080用于Server API使用。

野火IM的SDK基于微信mars,使用长短结合的办法最优化服务的连接处理。关于长短连接的详细信息可以参考mars的官方文档。

0.0.1. 长链接

1883和8083都是长链接,运行野火IM的私有协议,野火IM的私有协议来源于对mqtt的二次开发。用于连接鉴权、发送消息、接收通知等。

0.0.2. 短链接

80是http短连接端口,客户端设置的端口,客户端会通过短连接端口获取到长连接端口。服务器需要开通80/1883/8083的入访权限。

0.0.3. Server API

18080是Server API的端口。server api用户创建用户,获取token,发送消息,撤回消息等一系列由其它服务操作的功能。

0.0.4. 安全防护

应用登陆到应用服务器时,需要返回用户Token给IM SDK,该token为用户凭证,十分重要,需要应用使用https链接登陆,并在本地安全存储。

长链接和IM短链接,用户发送协议包,协议包经过AES加密,加密的密钥在token中。mars直接在tcp层上实现的http协议,对于系统来说就是普通的tcp连接。iOS的ATS可以不用加例外。密钥是一个会话一个密钥,可以有效的保护用户安全。

Server API是供应用服务进行调用的,接口有签名保护,建议和应用服务器放到同一内网中。

另外媒体文件的上传是在mars中进行,无法使用https。这里是有缺陷的,如果您需要对媒体文件进行安全防护,就需要自己上传媒体文件,然后调用SDK来发送文件。

综上,您需求确认您的媒体文件上传的安全性,如果要使用https,那就需要自己来上传。

2018 © wildfirechat.cn 京ICP备18060403号-1 all right reserved,powered by Gitbook该文件修订时间: 2019-09-28 14:48:48

results matching ""

    No results matching ""