华为AnyOffice实现了一整套移动平台接入方案和管理方案,但是其提供eSDK对开发者并不是很友好,比如eSDK提供了都是第七层HTTP协议的API,只能使用它提供的几个类进行操作,很不灵活而且局限性比较高,通过本文可以帮助你解决以下几个问题。
注:本文的讨论基于华为eSDK RC10 2017年9月的版本,RC10版的Demo,L4VPN模式
1、通过eSDK传输非HTTP协议的其他TCP协议的数据,比如FTP,SFTP,SSH,POP3,SMTP,即时通讯框架等。
2、通过eSDK实现内网外网自由访问,用于集成第三方地图,消息推送等。
3、通过eSDK使用Retrofit,Volley,OKHttp等网络框架访问内网
4、通过eSDK使用HTTPS协议内网Web服务
首先以Android端为例,简单强调一下eSDK提供的访问内网的接口有如下几个
SvnHttpClient:继承于DefaultHttpClient,通过该类发送的数据会通过隧道,获取方式new SvnHttpClient();使用SvnHttpClient与DefaultHttpClient不冲突,也就是说你可以同时用SvnHttpClient走内网,用DefaultHttpClient走公网
HttpURLConnection: 获取方式URLConnectionFactoryHelper.setURLStreamHandlerFactory(),该设置不可逆;执行之后所有通过HttpURLConnetion发出的请求都是隧道内请求,没执行的时候是可以访问公网的