【领取见面礼】限量 100份 GeekOnline加油包!等你来拿 置顶

技术活动雨山 回复了问题 • 62 人关注 • 62 个回复 • 2907 次浏览 • 2020-09-08 17:35 • 来自相关话题

【征稿活动】Geek Online 社区第一期投稿激励计划已启动! 置顶

技术活动梅川酷子 发表了文章 • 3 个评论 • 932 次浏览 • 2020-08-27 19:40 • 来自相关话题

为了回馈社区用户长期以来的支持,营造良好的社区技术氛围,鼓励更多开发者交流技术心得、分享技术实操方法及经验,创作更多优秀内容。特面向所有社区注册用户,举办第一期 Geek Online 社区投稿激励计划活动。活动时间征稿时间:长期有效面向对象Geek Onli... ...查看全部

为了回馈社区用户长期以来的支持,营造良好的社区技术氛围,鼓励更多开发者交流技术心得、分享技术实操方法及经验,创作更多优秀内容。特面向所有社区注册用户,举办第一期 Geek Online 社区投稿激励计划活动。

活动时间

征稿时间:长期有效

面向对象

Geek Online 社区所有注册用户

内容要求

对技术的介绍、产品的分析等技术类内容均可,也可以是个人实际操作的方法或经验总结,可供参考方向:

1、融云产品相关,选题包括:集成 IM 或 RTC 的使用体验、操作攻略、案例分享等。

2、结合市面上热度较高的事件/现象,从技术视角挖掘开发逻辑、产品解读等。

参赛规则

1、投稿需符合上述内容要求,图文并茂,排版美观,无错别字,代码规范。

2、在 Geek Online 社区发布文章参与,标题格式为【GeekOnline 投稿 | XXXXXXXXXX

3、稿件字数在 500 字以上

5、投稿数量不限,但所有稿件内容必须为 2020 年 8 月 27 日后作者本人新发内容

6、投稿人社区账号头像、昵称、个人介绍需资料完善

7、稿件投递后 个工作日内完成初审,并通过社区消息、邮箱通知。

评分细则

1、每月底将对当月参赛稿件进行评比,满分 10 。其中,

影响力 3 分,由社区内热度(阅读数)、互动量(点赞、评论数)加权计算;

专业性 7 分,由 Geek Online 技术专家及编辑组成的评审团,从文章实用性、创新性及代码规范度等方面综合评定给分。

2、我们鼓励投稿内容与融云产品相结合,对于此类稿件将给予社区置顶等曝光机会,增加文章影响力。

奖励

1、所有稿件通过初评,即可获得 Geek Online 加油包 1 份(内容发布 7 个工作日内发出)

2月度评选后,根据得分,给予优秀稿件 200-1000 元京东购物卡奖励,并在社区公示

3、优秀稿件,经编辑审核后,将安排在不限于公众号、社群及网媒中推广。

4、获奖作者,有机会加入社区特邀专栏作者计划,获得更高现金激励,并受邀参与融云各类开发者活动(线下/线上)

声明

1、在法律允许范围内,活动最终解释权归 Geek Online 社区所有。

2、参加活动的文章作者拥有著作权,Geek Online 社区、融云全媒体平台拥有使用权。

3、对于作者发布非原创内容或有争议内容所引起的一切后果,均由作者承担。欢迎社区用户举报,一经查实,作废处理。

【社区精华|持续更新】收录本社区精华内容,手把手教学IM/RTC开发! 置顶

IM即时通讯admin 发表了文章 • 8 个评论 • 778 次浏览 • 2020-12-07 14:41 • 来自相关话题

本文收录了GeekOnline社区精华内容,希望帮助社区开发者学习IM+RTC知识,解答疑惑。赠人玫瑰,手有余香,如您有不错的内容需要收录,欢迎在在评论区投稿回复。Android篇融云即时通讯SDK集成 — 通知检查融云 IM SDK 集成 —- 刷新会话界面... ...查看全部

本文收录了GeekOnline社区精华内容,希望帮助社区开发者学习IM+RTC知识,解答疑惑。赠人玫瑰,手有余香,如您有不错的内容需要收录,欢迎在在评论区投稿回复。

微信截图_20201207144054.png

Android篇

融云即时通讯SDK集成 — 通知检查

融云 IM SDK 集成 —- 刷新会话界面和会话列表界面

Android 端如何添加自定义表情

解决融云 SDK 4.0 版本配置 https 导航报 SSLHandshakeException

融云清空历史消息 Android 端

唠一唠融云的消息扩展功能

融云 IMkit 拦截或监听所有发送消息

融云如何把图片消息的图片上传到自己的文件服务器

唠一唠融云 VIVO push 无法跳转的解决方案

融云即时通讯SDK集成 — 定制UI(一) ——会话界面小改动

融云即时通讯SDK集成 — 定制UI(二) ——添加自定义表情库

融云即时通讯SDK集成 — 定制UI(三) ——兼容Android Q

融云如何把图片消息的图片上传到自己的文件服务器

融云即时通讯SDK集成 — 华为推送的点击跳转处理

带你实现女朋友欲罢不能的 App

Flutter 集成融云 sdk

配置融云SDK的自签证书

自定义消息 包含 list 数组

关于融云聊天室KV 值的正确使用

融云 IM SDK 转 AndroidX

融云即时通讯SDK集成 — 国内厂商推送集成踩坑篇(Android平台)

在融云 IMkit 会话界面基础上添加消息已读未读

融云聊天室属性 kv

融云 ConversationListFragment 会话列表添加头部布局

融云即时通讯SDK集成 — FCM推送集成指南(Android平台)

融云集成之避坑指南-Android推送篇

融云IMKit 动态删除或添加plugin 的实现


iOS篇

iOS 基于实时音视频 SDK 实现屏幕共享功能——1

iOS 基于实时音视频 SDK 实现屏幕共享功能——2

iOS 基于实时音视频 SDK 实现屏幕共享功能——3

iOS 基于实时音视频 SDK 实现屏幕共享功能——4

如何隐藏融云输入框语音按钮

给融云的输入框上方加个功能按钮,怎么整?

融云 IM SDK 如何插入消息

集成融云 IMLib 时,如何实现一套类似于 IMKit 的用户信息管理机制

为融云聊天页面的输入框添加 Placeholder

30 分钟集成融云 IM 即时通讯

简单介绍融云 imkit 包含功能

融云的聊天页面在 iOS14 出现崩溃的解决办法

融云聊天页面长按消息后“翻译”功能的实现方法

使用融云 IM 点击最近聊天记录时跳转到 @ 自己的消息

如何设置融云用户信息

自定义融云会话列表 cell 选中背景

融云 IMKit 音频录制参数

融云会话页面刷新不及时问题

融云 Flutter IM SDK 解析

关于融云 SDK 在使用 p8 证书的坎坷~

融云 SDK 如何实现群组操作

如何利用融云 IMLib 来实现一个阅后即焚功能

干货分享——使用融云通讯能力库 IMLib 实现单群聊的阅读回执


Web篇

作为小白接融云 IM SDK 新路体验~

微信小程序集成融云 SDK (即时通讯) 集成必备条件

Web 端使用融云 SDK 集成实现滑动加载历史消息

融云IM SDK web 端集成 — 表情采坑篇

融云 Web SDK 如何实现表情的收发 ?

集成融云小程序 SDK 遇到的问题

使用融云 Web SDK 撤回消息

融云 RTC SDK 集成实现直播,趟坑之旅~~~

融云 Web SDK 删除历史消息

集成融云小程序 SDK 遇到的问题

Web 端集成融云 SDK 如何发送正确图片消息给移动端展示?

使用融云 IM SDK 实现 H5 直播聊天

WebRTC 实现实时音视频技术研究

融云发送语音消息

融云 CallLib 集成遇到的问题

结合融云 WebSDK 了解 WebSocket 基本原理

集成融云 Web 音视频通话踩坑之旅

SDK 兼容 JSON

融云 IM SDK 发送语音消息

集成融云 IM 问题总结

融云 Web SDK 如何实现只有一个设备登入

融云 Web 播放声音 — Flash 篇 (播放 AMR、WAV)

融云 IM 那些事儿

融云 AMR(Aduio) 播放 AMR 格式 Base64 码音频


社区福利

【领取见面礼】限量 100份 GeekOnline加油包!等你来拿

【有奖调研】Geek Online 2020 编程挑战赛参赛调研

【征稿活动】Geek Online 社区第一期投稿激励计划已启动!


GeekOnline编程挑战赛

Geek Online 2020 编程挑战赛官网

重磅!Geek Online 2020 编程挑战赛来了!

Geek Online 2020 编程挑战赛 GitHub 仓库

2 个月激烈角逐,15 支队伍突围决赛路演!Geek Online 2020 编程挑战赛完美收官!

一张图回顾 Geek Online 2020 编程挑战赛精彩瞬间!

“这些项目不是什么赚大钱的项目,但是它们足够有趣。”丨关于 Geek Online 2020 编程挑战赛,选手们如是说

融云 CTO 杨攀: Geek Online 2020 编程挑战赛 让开发者站上 C 位

【参赛攻略】你想了解的Geek Online 2020 编程挑战赛常见问题这里都有!

【融云集成常见问题整理】Geek Online 2020 编程挑战赛选手提问整理


求职招聘

【招聘】寻一枚熟悉融云IM的开发工程师,坐标合肥,待遇从优

和50万优质程序员一起成长——程序员客栈招聘

持续更新....

【融云集成常见问题整理】Geek Online 2020 编程挑战赛选手提问整理 置顶

GeekOnline编程挑战赛梅川酷子 发表了文章 • 0 个评论 • 670 次浏览 • 2020-12-02 18:40 • 来自相关话题

内容整理自Geek Online 2020 编程挑战赛群答疑内容,关于大赛请点击Geek Online 2020 编程挑战赛了解详情。如果您有IM/RTC开发,融云开发文档建议等技术问题欢迎留言讨论。问题 1: 下载SDK如何选择?各大版本有什么区别?问题 1... ...查看全部

内容整理自Geek Online 2020 编程挑战赛群答疑内容,关于大赛请点击Geek Online 2020 编程挑战赛了解详情。如果您有IM/RTC开发,融云开发文档建议等技术问题欢迎留言讨论。

问题 1: 下载SDK如何选择?各大版本有什么区别?

问题 1 答案:使用最新版本 4.0 SDK ,新版 SDK 包含很多新功能并且会将历史版本遗留 Bug 进行修复,所以极力推荐使用新版 SDK 4.0+ 集成开发,下载地址:https://www.rongcloud.cn/downloads

问题 2 :开发环境和生产环境有什么区别?

问题 2 答案:  开发环境功能免费使用,但用户数有 100 个限制,生产环境无用户数限制,但需要付费,咱们的参赛同学使用开发环境集成就好

问题 3 :参赛过程中开发产生的费用怎么办?(注:本条仅限于参赛期间选手的参赛作品)

问题 3 答案:开发环境功能均可免费体验,遇到特殊情况可在战队群里向融云同学处理

问题 4 :小程序开发有什么注意事项?

问题 4 答案:

 (1)需要在开发者后台小程序中开通,开通 30 分钟后生效

 (2)小程序发布上线需要优先设置合法域名:https://docs.rongcloud.cn/v4/views/rtc/call/noui/quick/mini.html

 (3)小程序特殊分类需要证书,例如社交小程序需要 ICP 证书,所以大家选择小程序分类时要提前注意是否需要证书

问题 5: 融云支持哪些平台?

问题 5 答案:支持 iOS、Android、Web、Flutter、uniapp、Electron,如果有 IoT 需求可以私信融云同学

问题 6:  如果遇到集成文档问题,怎么办?(也可以在本篇文章留言回复)

问题 6 答案:可直接在战队群里反馈至融云同学,欢迎大家对文档的改进提出宝贵建议,感谢

问题7:ios没上线 push怎么做?

问题7答案:在融云开发者后台 -> 应用 -> 开发环境可以设置

微信图片_20201202183130.png


问题8:融云的RTC集成必须要集成IM?

问题8答案:RTC SDK 依赖于 IM SDK,一定要连接 IM 后再进行 RTC 相关的集成

问题9:融云新版SDK4.0版本和2.0版本对比有哪些升级?具体有哪些优化和提升?

问题9答案:4.0 SDK 是融云基于近几年的经验积累和沉淀进行的重构版,包含对架构、连接、重连、弱网等使用场景做了特殊优化,除核心能力优化外 4.0 SDK 还在持续发布新功能,例如:聊天室 KV 存储、会话置顶免打扰等

问题10:我想问一下,rongrtc的storage改动如何监听似乎rongclient设置接受到消息的onreceived回调不会触发。而改动storage 时是有设置第三个消息参数的,Sdk的debug会打印storage_set的,可以拦截不?

问题10答案:如果设置了第三个参数,会触发接收方的 RongRTC 实例的 Message received 监听

问题11:融云有没有小程序版的IM集成SDK?

问题11答案:有的,开发者后台开通小程序后可以直接下载小程序 IM SDK,开通位置:https://developer.rongcloud.cn/miniprogram/index/

问题12:弱弱的问一句,融云可否实现微信群机器人?现在微商盛行,想用融云做个自动问答的机器人客服 」

问题12答案:可以的,融云支持将消息路由的能力,消息路由到自己服务器后可以对接三方图文识别厂商

问题13:融云有内嵌到app的H5版本客服机器人吗?

问题14:不单独提供客服的,但 IM SDK 支持 H5 的

感谢各位选手的参与,Geek Online 2020 编程挑战赛 完美收官,关于大赛:

 Geek Online 2020 编程挑战赛官网

2 个月激烈角逐,15 支队伍突围决赛路演!Geek Online 2020 编程挑战赛完美收官!

“这些项目不是什么赚大钱的项目,但是它们足够有趣。”丨关于 Geek Online 2020 编程挑战赛,选手们如是说

一张回顾 Geek Online 2020 编程挑战赛精彩瞬间!


关于IM/RTC开发,融云开发文档建议等技术问题欢迎留言讨论

2 个月激烈角逐,15 支队伍突围决赛路演!Geek Online 2020 编程挑战赛完美收官! 置顶

GeekOnline编程挑战赛梅川酷子 发表了文章 • 1 个评论 • 672 次浏览 • 2020-10-27 09:59 • 来自相关话题

2020 春季的一场疫情,让远程办公和在线教育在全球范围内成为一种常态。疫情终将过去,但疫情为人们带来的新的工作及生活方式却将持续地影响着我们。后疫情时代,远程实时互动技术的重要性被提到了新的高度,下一代互联网通信云将如何作用于人们的工作和生活?融云作为全球领... ...查看全部

2020 春季的一场疫情,让远程办公和在线教育在全球范围内成为一种常态。

疫情终将过去,但疫情为人们带来的新的工作及生活方式却将持续地影响着我们。后疫情时代,远程实时互动技术的重要性被提到了新的高度,下一代互联网通信云将如何作用于人们的工作和生活?

融云作为全球领先的互联网通信云厂商,一直致力于 RTC 技术的创新和发展,并于近期举办了 Geek Online 2020 编程挑战赛,希望借此机会与全球开发者一道,共同寻找 RTC 技术的更多落地场景,开辟更多使用途径。

10 月 17 日,为期两个月的编程挑战赛迎来了最为紧张的决赛阶段, 15 支队伍进行了线上的路演答辩。

决赛路演,大屏直播互动

本届 Geek Online 2020 编程挑战赛以《后疫情时代,通信云技术的创新及实践》为主题,鼓励开发者挖掘关于实时音视频和即时通讯技术的更多创意。通过近 2 个月的激烈角逐,在近百份参赛作品中,15 支队伍突出重围,闯入总决赛,他们通过线上展示的方式和大家分享,角逐最后的冠军。

本次决赛的评委共有四位,分别是融云联合创始人兼 CTO 杨攀、思否联合创始人兼 CTO 祁宁、泰岳梧桐资本合伙人杨扬以及通过线上直播参与路演的评委云启资本董事总经理陈昱。

1.png
       
     

 

路演答辩借助了融云 RTC 技术搭建了一个实时互动直播平台,选手轮流进入融云实时音视频 - SealRTC 平台进行画面共享,四位导师也可以在平台内实时与选手视频交流互动。

 


       2.png
     

 

路演直播画面

部分参赛选手作品展示 & 评委点评


       3.jpg
     

 

冠军团队 - 缘拼

该团队成员擅长 uniapp 以及微信小程序开发,作品基于融云 RTC 技术。这是一款基于兴趣、基于地理位置的同城社交类小程序,可以语音、视频构建同城兴趣小组,并将线上兴趣转换为线下社交行为。相当于将豆瓣兴趣小组音视频化。



        4.jpg       

 

亚军团队 - 红鲤鱼与绿鲤鱼与驴

该作品由两位选手共同完成,分别是熟悉前端、WebRTC 方向的“红鲤鱼”和熟悉后端、大数据方向的“绿鲤鱼”。这是一款帮忙新手程序员迅速熟悉融云 SDK 的小游戏,通过识别二维码拼图的游戏,让了解融云的过程有趣味性。该作品层次丰富,第一层需要用户集成融云 SDK、掌握融云的基本概念,第二层需要用户做一定程度的视频后处理,第三层需要用户做一些图像识别。



     5.jpg       

 

季军团队 - youweyoung

获得第三名的团队包含了一位拥有前后端多年开发经验的选手。作品基于 Android 操作系统使用 RTC 混合开发,最终做出了音视频通话应用 —— IYI网络剧场,将角色扮演类的剧本杀游戏以视频形式展现,每个场景有不同的主题人物并且可以替换,人物则是以皮影、动画等形式展现,适用于远程视频讲故事或玩剧本杀,有一定新颖性。



       6.jpg       

 

科技创新奖团队 - 萍水相逢的生活

这支队伍只有一位选手,他是一个心怀想法的程序员,做的产品是一个基于事务的陌生人聊天系统,事务场景可以是租房加中介的联系方式、街头偶遇添加好友、发布大字报等,这款产品的设计思路旨在为大家生活提供便利的软件。



       7.jpg       

 

 

商业价值奖团队 - MAXFLOAT

MAXFLOAT 是一支有实力,有梦想,有创意,敢拼搏,即想即做的队伍。他们认为当前城市化生活环境下人与人的交流越来越少,宠物逐渐替代朋友成为更好的伙伴,养宠物的越来越多,但随之而来的是更多的问题,比如宠物的遗失、被抛弃造成了流浪宠物越来越多,而宠物的健康,有时也不能及时得到重视。因此他们做了一款以宠物招领、寄养、寻回、宠物医生等为主,以宠物信息普及、宠物疾病普及为辅的 APP 帮助广大宠物爱好者。





包含获奖团队在内的 15 组团队,作品各具特色,即为评委以及线上观众们展示了自身的产品创意,也展示了 RTC 技术在实际应用中的能力与延展性,很多选手的作品获得了评委们的高度评价。我们对获奖团队进行了单独的采访,内容会于后续发出,敬请期待。

在选手们精彩的分享以及答辩之后,四位评委嘉宾分别给出了对于参加本次比赛的感受。





“融云始于 IM,又不止于 IM。通过融云提供的技术以及服务能力,开发者们可以更加关注线上的优化与迭代,期待更多开发者利用融云SDK,开发更创新、强大的产品。” —— 陈昱





“本次的决赛中我有很多印象深刻的作品,有的非常符合开发者的口味,有的对于使用场景有着很深入的思考。因为疫情,通信云技术的需求正在变得越来越大、越来越丰富,有很多场景需要我们去开拓,很值得开发者们关注并付出行动。” —— 祁宁





“选手们有很多创意创新点都很好,将很多现实中生活化的场景融入到比赛中,也有一些具有极客特质的项目,这些都是融云自身生态开发能力非常好的体现。对于融云来说,开发者是宝贵的资源,而通信云的生态也需要非常广泛的群体参与,共同完善。” —— 杨扬





“很高兴的看到,决赛中有很多作品提到了人们的心理问题,除开产品技术本身,还致力于解决人文层面的诉求。基于 IM 的核心能力,选手们提供了很多在线的沟通场景,比如剧本杀、狼人杀等等,基于这些实时互动的模式,通信能力已经变成了现代应用的一种基础设施,能为产业、产品和应用场景提供帮助,这让我们既感到压力,也感受到了更强大的动力。” —— 杨攀

结语

通过选手们的展示,我们可以了解到通信云技术的发展和提升不仅仅可以作用于工作和学习,关于实时音视频和即时通讯技术的应用,还有更多创新的场景等待我们用全新的思维来发掘。

Geek Online 2020 编程挑战赛虽然是第一次举办,但已经收获了参赛选手以及观看决赛路演直播观众们的一致好评,部分选手在路演结束后已经联系主办方咨询第二届比赛的安排,想要提前报名。

融云作为专注于通信的 PaaS 云服务平台,想要通过底层的基础模块支持,帮助企业与开发者构建「云通信」的能力。举办此次编程挑战赛的目的,也是希望让开发者们碰撞出技术的思维火花,加速潮流技术的应用创新,也为开发者们搭建了一个沟通、交流、合作的平台,希望能够掀起一股通信技术应用的探索与实践热潮。

点击进入大赛官网,查看更多比赛信息


       4aQyJP5TdHkx0NXM__thumbnail.png       


app在后台被杀死,ConversationFragment的destroy方法中的mConversationType.equals()会报空指针

IM即时通讯admin 回复了问题 • 2 人关注 • 1 个回复 • 37 次浏览 • 34 分钟前 • 来自相关话题

详谈HTTPS SSL/TLS协议原理

科技创新森马 发表了文章 • 0 个评论 • 39 次浏览 • 2021-04-28 16:53 • 来自相关话题

协议安全和加密越来越引起人们的重视和关注,今天就跟大家分享一点协议加密方面的知识。要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识。大致了解几个基本术语(HTTPS、SSL、TLS)的含义大致了解 HTTP 和 TCP 的关系(尤其是 “短连接”... ...查看全部

协议安全和加密越来越引起人们的重视和关注,今天就跟大家分享一点协议加密方面的知识。要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识。

  1. 大致了解几个基本术语(HTTPS、SSL、TLS)的含义

  2. 大致了解 HTTP 和 TCP 的关系(尤其是 “短连接”VS“长连接”)

  3. 大致了解加密算法的概念(尤其是 “对称加密与非对称加密” 的区别)

  4. 大致了解 CA 证书的用途考虑到很多技术菜鸟可能不了解上述背景,俺先用最简短的文字描述一下。如果你自认为不是菜鸟,请略过本章节,直接去看 “HTTPS 协议的需求”。

一、先澄清几个术语——HTTPS、SSL、TLS。

1. “HTTP” 是干嘛用滴?

首先,HTTP 是一个网络协议,是专门用来帮你传输 Web 内容滴。关于这个协议,就算你不了解,至少也听说过吧?比如你访问俺的博客的主页,浏览器地址栏会出现如下的网址http://www.xxx.com/

俺加了粗体的部分就是指 HTTP 协议。大部分网站都是通过 HTTP 协议来传输 Web 页面、以及 Web 页面上包含的各种东东(图片、CSS 样式、JS 脚本)。

2. “SSL/TLS” 是干嘛用滴?

SSL 是洋文 “Secure Sockets Layer” 的缩写,中文叫做 “安全套接层”。它是在上世纪 90 年代中期,由网景公司设计的。(顺便插一句,网景公司不光发明了 SSL,还发明了很多 Web 的基础设施——比如“CSS 样式表” 和“JS 脚本”) 为啥要发明 SSL 这个协议捏?因为原先互联网上使用的 HTTP 协议是明文的,存在很多缺点——比如传输内容会被偷窥(嗅探)和篡改。发明 SSL 协议,就是为了解决这些问题。

到了 1999 年,SSL 因为应用广泛,已经成为互联网上的事实标准。IETF 就在那年把 SSL 标准化。标准化之后的名称改为 TLS(是 “Transport Layer Security” 的缩写),中文叫做“传输层安全协议”。

很多相关的文章都把这两者并列称呼(SSL/TLS),因为这两者可以视作同一个东西的不同阶段。

3. “HTTPS” 是啥意思?

解释完 HTTP 和 SSL/TLS,现在就可以来解释 HTTPS 啦。咱们通常所说的 HTTPS 协议,说白了就是 “HTTP 协议” 和“SSL/TLS 协议”的组合。你可以把 HTTPS 大致理解为——“HTTP over SSL”或“HTTP over TLS”(反正 SSL 和 TLS 差不多)。

二、再来说说 HTTP 协议的特点

作为背景知识介绍,还需要再稍微谈一下 HTTP 协议本身的特点。HTTP 本身有很多特点,考虑到篇幅有限,俺只谈那些和 HTTPS 相关的特点。

1. HTTP 的版本和历史

如今咱们用的 HTTP 协议,版本号是 1.1(也就是 HTTP 1.1)。这个 1.1 版本是 1995 年底开始起草的(技术文档是 RFC2068),并在 1999 年正式发布(技术文档是 RFC2616)。

在 1.1 之前,还有曾经出现过两个版本 “0.9 和 1.0”,其中的 HTTP 0.9 没有被广泛使用,而 HTTP 1.0 被广泛使用过。另外,2015年IETF 就要发布 HTTP 2.0 的标准了。

2. HTTP 和 TCP 之间的关系

简单地说,TCP 协议是 HTTP 协议的基石——HTTP 协议需要依靠 TCP 协议来传输数据。在网络分层模型中,TCP 被称为 “传输层协议”,而 HTTP 被称为 “应用层协议”。

有很多常见的应用层协议是以 TCP 为基础的,比如 “FTP、SMTP、POP、IMAP” 等。

TCP 被称为 “面向连接” 的传输层协议。关于它的具体细节,俺就不展开了(否则篇幅又失控了)。你只需知道:传输层主要有两个协议,分别是 TCP 和 UDP。TCP 比 UDP 更可靠。你可以把 TCP 协议想象成某个水管,发送端这头进水,接收端那头就出水。并且 TCP 协议能够确保,先发送的数据先到达(与之相反,UDP 不保证这点)。

3. HTTP 协议如何使用 TCP 连接?

HTTP 对 TCP 连接的使用,分为两种方式:俗称 “短连接” 和“长连接”(“长连接”又称 “持久连接”,洋文叫做“Keep-Alive” 或“Persistent Connection”) 假设有一个网页,里面包含好多图片,还包含好多外部的CSS 文件和 JS 文件。在 “短连接” 的模式下,浏览器会先发起一个 TCP 连接,拿到该网页的 HTML 源代码(拿到 HTML 之后,这个 TCP 连接就关闭了)。然后,浏览器开始分析这个网页的源码,知道这个页面包含很多外部资源(图片、CSS、JS)。

然后针对每一个外部资源,再分别发起一个个 TCP 连接,把这些文件获取到本地(同样的,每抓取一个外部资源后,相应的 TCP 就断开) 相反,如果是 “长连接” 的方式,浏览器也会先发起一个 TCP 连接去抓取页面。但是抓取页面之后,该 TCP 连接并不会立即关闭,而是暂时先保持着(所谓的“Keep-Alive”)。然后浏览器分析 HTML 源码之后,发现有很多外部资源,就用刚才那个 TCP 连接去抓取此页面的外部资源。

在 HTTP 1.0 版本,默认使用的是 “短连接”(那时候是 Web 诞生初期,网页相对简单,“短连接” 的问题不大);到了 1995 年底开始制定 HTTP 1.1 草案的时候,网页已经开始变得复杂(网页内的图片、脚本越来越多了)。这时候再用短连接的方式,效率太低下了(因为建立 TCP 连接是有 “时间成本” 和“CPU 成本”滴)。

所以,在 HTTP 1.1 中,默认采用的是 “Keep-Alive” 的方式。关于 “Keep-Alive” 的更多介绍,可以参见维基百科词条。

三、谈谈 “对称加密” 和“非对称加密”的概念

1. 啥是 “加密” 和“解密”?

通俗而言,你可以把 “加密” 和“解密”理解为某种互逆的数学运算。就好比 “加法和减法” 互为逆运算、“乘法和除法”互为逆运算。

“加密”的过程,就是把 “明文” 变成 “密文” 的过程;反之,“解密”的过程,就是把 “密文” 变为“明文”。在这两个过程中,都需要一个关键的东东——叫做“密钥”——来参与数学运算。

2. 啥是 “对称加密”?

所谓的 “对称加密技术”,意思就是说:“加密” 和“解密”使用相同的密钥。这个比较好理解。就好比你用 7zip 或 WinRAR 创建一个带密码(口令)的加密压缩包。当你下次要把这个压缩文件解开的时候,你需要输入同样的密码。在这个例子中,密码 / 口令就如同刚才说的“密钥”。

3. 啥是 “非对称加密”?

所谓的 “非对称加密技术”,意思就是说:“加密” 和“解密”使用不同的密钥。这玩意儿比较难理解,也比较难想到。当年 “非对称加密” 的发明,还被誉为 “密码学” 历史上的一次革命。

由于篇幅有限,对 “非对称加密” 这个话题,俺就不展开了。有空的话,再单独写一篇扫盲。

4. 各自有啥优缺点?

看完刚才的定义,很显然:(从功能角度而言)“非对称加密”能干的事情比 “对称加密” 要多。这是 “非对称加密” 的优点。但是 “非对称加密” 的实现,通常需要涉及到 “复杂数学问题”。所以,“非对称加密” 的性能通常要差很多(相对于 “对称加密” 而言)。这两者的优缺点,也影响到了 SSL 协议的设计。

四、HTTPS 协议的需求是啥?

花了好多口水,终于把背景知识说完了。下面正式进入正题。先来说说当初设计 HTTPS 是为了满足哪些需求?

很多介绍 HTTPS 的文章一上来就给你讲实现细节。个人觉得:这是不好的做法。早在 2009 年开博的时候,发过一篇<学习技术的三部曲:WHAT、HOW、WHY>,其中谈到 “WHY 型问题” 的重要性。一上来就给你讲协议细节,你充其量只能知道 WHAT 和 HOW,无法理解 WHY。

俺在前一个章节讲了“背景知识”,在这个章节讲了“需求”,这就有助于你理解:当初为什么要设计成这样?——这就是 WHY 型的问题。

兼容性

因为是先有 HTTP 再有 HTTPS。所以,HTTPS 的设计者肯定要考虑到对原有 HTTP 的兼容性。这里所说的兼容性包括很多方面。比如已有的 Web 应用要尽可能无缝地迁移到 HTTPS;比如对浏览器厂商而言,改动要尽可能小;基于 “兼容性” 方面的考虑,很容易得出如下几个结论:

  1. HTTPS 还是要基于 TCP 来传输(如果改为 UDP 作传输层,无论是 Web 服务端还是浏览器客户端,都要大改,动静太大了)。

  2. 单独使用一个新的协议,把 HTTP 协议包裹起来 (所谓的 “HTTP over SSL”,实际上是在原有的 HTTP 数据外面加了一层 SSL 的封装。HTTP 协议原有的 GET、POST 之类的机制,基本上原封不动)。打个比方: 如果原来的 HTTP 是塑料水管,容易被戳破;那么如今新设计的 HTTPS 就像是在原有的塑料水管之外,再包一层金属水管。一来,原有的塑料水管照样运行;二来,用金属加固了之后,不容易被戳破。

可扩展性

前面说了,HTTPS 相当于是 “HTTP over SSL”。如果 SSL 这个协议在 “可扩展性” 方面的设计足够牛逼,那么它除了能跟 HTTP 搭配,还能够跟其它的应用层协议搭配。岂不美哉?

现在看来,当初设计 SSL 的人确实比较牛。如今的 SSL/TLS 可以跟很多常用的应用层协议(比如: FTP、SMTP、POP、Telnet)搭配,来强化这些应用层协议的安全性。

接着刚才打的比方: 如果把 SSL/TLS 视作一根用来加固的金属管,它不仅可以用来加固输水的管道,还可以用来加固输煤气的管道。

保密性

HTTPS 需要做到足够好的保密性。说到保密性,首先要能够对抗嗅探(行话叫 Sniffer)。所谓的 “嗅探”,通俗而言就是监视你的网络传输流量。如果你使用明文的 HTTP 上网,那么监视者通过嗅探,就知道你在访问哪些网站的哪些页面。

嗅探是最低级的攻击手法。除了嗅探,HTTPS 还需要能对抗其它一些稍微高级的攻击手法——比如 “重放攻击”。

完整性

除了 “保密性”,还有一个同样重要的目标是“确保完整性”。关于“完整性” 这个概念,在之前的博文<扫盲文件完整性校验——关于散列值和数字签名>中大致提过。健忘的同学再去温习一下。在发明 HTTPS 之前,由于 HTTP 是明文的,不但容易被嗅探,还容易被篡改。

举个例子: 比如咱们天朝的网络运营商都比较流氓,经常有网友抱怨说访问某网站(本来是没有广告的),竟然会跳出很多广告。为啥会这样捏?因为你的网络流量需要经过 ISP 的线路才能到达公网。如果你使用的是明文的 HTTP,ISP 很容易就可以在你访问的页面中植入广告。所以,当初设计 HTTPS 的时候,还有一个需求是 “确保 HTTP 协议的内容不被篡改”。

真实性

在谈到 HTTPS 的需求时,“真实性”经常被忽略。其实 “真实性” 的重要程度不亚于前面的 “保密性” 和“完整性”。

举个例子: 你因为使用网银,需要访问该网银的 Web 站点。那么,你如何确保你访问的网站确实是你想访问的网站?(这话有点绕口令) 有些天真的同学会说:通过看网址里面的域名来确保。

为啥说这样的同学是 “天真的”?因为 DNS 系统本身是不可靠的(尤其是在设计 SSL 的那个年代,连DNSSEC 都还没发明)。由于DNS 的不可靠(存在“域名欺骗” 和“域名劫持”),你看到的网址里面的域名未必是真实滴!所以,HTTPS 协议必须有某种机制来确保 “真实性” 的需求。

性能

再来说最后一个需求——性能。引入 HTTPS 之后,不能导致性能变得太差。否则的话,谁还愿意用?为了确保性能,SSL的设计者至少要考虑如下几点:

  1. 如何选择加密算法(“对称”or“非对称”)?

  2. 如何兼顾 HTTP 采用的 “短连接”TCP 方式?SSL 是在1995 年之前开始设计的,那时候的 HTTP 版本还是 1.0,默认使用的是 “短连接” 的 TCP 方式——默认不启用 Keep-Alive)。


记录一次接入华为推送问题

IM即时通讯深圳市众学汇科技有限公司 发表了文章 • 1 个评论 • 32 次浏览 • 2021-04-28 15:03 • 来自相关话题

接入的时候所有配置都正确的,但是启动项目就是不行报错,报错的信息也简单Execution failed for task ':app:mergeDebugManifest'. > com.android.manifmerger.Manif... ...查看全部

接入的时候所有配置都正确的,但是启动项目就是不行报错,报错的信息也简单

Execution failed for task ':app:mergeDebugManifest'.
> com.android.manifmerger.ManifestMerger2$MergeFailureException: java.io.FileNotFoundException: D:\HuaLu\app\build\intermediates\merged_manifests\debug\AndroidManifest.xml

初看以为是清单文件合并除了问题,但是最终还是排除了。实在没办法打印详细日志查看错误,

是华为的插件agconnect找不到,但是检查配置是没有问题的,编译也不会报错。后面又去华为官方论坛咨询

最后发现是Android studio4.1的Gradle4.1插件版本和融云文档上的

com.huawei.agconnect:agcp:1.3.1.300 有冲突,

解决办法是com.huawei.agconnect:agcp:1.4.1.300 修改为这个版本即可




日志审计系统的基本原理与部署方式

科技创新森马 发表了文章 • 0 个评论 • 34 次浏览 • 2021-04-28 11:43 • 来自相关话题

日志审计系统简介什么是日志审计?综合日志审计平台,通过集中采集信息系统中的系统安全事件、用户访问记录、系统运行日志、系统运行状态等各类信息,经过规范化、过滤、归并和告警分析等处理后,以统一格式的日志形式进行集中存储和管理,结合丰富的日志统计汇总及关联分析功能,... ...查看全部

日志审计系统简介

什么是日志审计?

综合日志审计平台,通过集中采集信息系统中的系统安全事件、用户访问记录、系统运行日志、系统运行状态等各类信息,经过规范化、过滤、归并和告警分析等处理后,以统一格式的日志形式进行集中存储和管理,结合丰富的日志统计汇总及关联分析功能,实现对信息系统日志的全面审计。

通过日志审计系统,企业管理员随时了解整个IT系统的运行情况,及时发现系统异常事件;另一方面,通过事后分析和丰富的报表系统,管理员可以方便高效地对信息系统进行有针对性的安全审计。遇到特殊安全事件和系统故障,日志审计系统可以帮助管理员进行故障快速定位,并提供客观依据进行追查和恢复。[百度百科]

为什么需要日志审计平台?

  1. 日志审计的合规要求,由于网络安全法的颁布实施,由原先的不合规转变成了不合法。如果不对要求的相关日志不做留存6个月以上,一旦追查,将面临法律责任。

  2. 安全运营的挑战。随着网络设备的增多,以及服务器数量的增多,如果没有统一的综合日志审计平台,那么需要登录到每台设备上查看日志,不利于运维人员管理。而且众多设备会产生海量的日志,无法有效管理。多种设备形成信息孤岛,日志无法关联分析。通过统一的日志审计平台,将所有设备日志都收集到日志平台进行统一管理,统一分析。

日志审计的核心目标:

  • 多源数据归一化

  • 日志存储集中化

  • 关联分析自动化

  • 安全态势立体化

日志审计的主要功能

设计思路:

统一日志采集:
  • 对不同日志源 (主机系统、网络设备、安全设备、应用中间件、数据库等)所产生的日志进行收集,实现日志的集中管理和存储。支持解析任意格式、任意来源的日志,通过解析规则标准化。

  • 使用无代理的方式收集日志。

  • 支持代理方式的日志收集。

关联分析:
  • 预置多种事件关联规则。

  • 定位外部威胁、黑客攻击、内部违规操作,设备异常。

  • 简单灵活定义关联规则。

实时告警:
  • 通过邮件、短信、声音对发生的告警进行及时通知,并可通过接口调用自动运行程序或脚本。

  • 通过告警策略定义,对各类风险 和事件进行及时告警或预警,提升运维效率。

日志取证分析:
  • 深入分析原始日志事件,快速定位问题的根本原因。

  • 生成取证报表,例如攻击威胁报表、Windows/Linux系统审计报表以及合规性审计报表等。

监管合规:
  • 提供Windows审计、Linux审计、PCI、SOX、ISO27001等合规性报表。

  • 支持创建自定义合规性报表

日志审计系统产品功能结构:

图:日志审计系统产品功能结构

日志审计系统的主要工作原理是,通过日志采集器,各种设备将日志推送到日志审计平台,然后日志审计平台通过日志解析,日志过滤,日志聚合等进行关联分析,从而进行告警,统计报表,也可以进行资产管理,日志检索等。

日志的转发方式:

日志转发一般可以通过:Syslog转发,Kafka转发,http转发。

日志收集一般支持:Syslog、SNMP等日志协议。

日志审计系统常见模块:

  • 日志事件获取模块:安全事件监控系统是实时掌握全网的安全威胁状况的重要手段之一。通过事件监控模块监控各个网络设备、主机系统等日志信息,以及安全产品的安全事件报警信息等,及时发现正在和已经发生的安全事件,通过响应模块采取措施,保证网络和业务系统的安全、可靠运行。

  • 资产管理模块:资产管理实现对网络安全管理平台所管辖的设备和系统对象的管理。它将其所辖IP设备资产信息按其重要程度分类登记入库,并为其他安全管理模块提供信息接口。

  • 规则库模块:规则库已支持主流网络设备、主机系统、数据库系统等,而且还应涵盖已经部署的安全系统,包括防火墙系统、防病毒系统等。并提供新日志格式适配功能,支持从安全运营中心平台接收新日志解析映射规则配置。用户可以根据该适配功能,对新日志格式进行自行适配。

  • 统计报表功能:具备强大的统计功能,可快速生成多种专业化的报表并支持自定义图表的设定集展示。

  • 权限管理模块:超级管理员可根据用户角色分配平台查看、操作各模块的权限,用户可以访问而且只能访问自己被授权的资源

日志审计平台的部署方式

硬件产品部署方式:

一般日志审计系统采用旁路部署即可,只要到达全部设备网络可通即可。

支持单机部署和分布式部署。


站在变革的十字路口,智慧医院还存在哪些建设误区?

科技创新小小鸟a 发表了文章 • 0 个评论 • 28 次浏览 • 2021-04-27 18:38 • 来自相关话题

在我国医疗信息化发展不断加速的进程上,医院作为连接医患群体、提供医疗服务的前线,似乎也走到了转型升级的十字路口。日前,以“智慧赋能·助力健康中国”为主题的2021全国智慧医院建设大会在上海召开,众多医疗从业者、云服务商、高校学者等共同聚焦医疗卫生事业,围绕智慧... ...查看全部

在我国医疗信息化发展不断加速的进程上,医院作为连接医患群体、提供医疗服务的前线,似乎也走到了转型升级的十字路口。

日前,以“智慧赋能·助力健康中国”为主题的2021全国智慧医院建设大会在上海召开,众多医疗从业者、云服务商、高校学者等共同聚焦医疗卫生事业,围绕智慧医院的建设思路展开了讨论和探索。

其中,中软国际云智能业务集团以其携手华为打造的智慧医院标杆项目“广东省第二人民医院”为例,重点提出了“全场景智慧、全要素协同、全业务运营,打造全场景智能医院”的观点,为下一代智慧医院的发展提供了诸多实践经验和建设思路。

不难发现,聚焦此次会议,伴随着产业融合趋势的来临,越来越多的医院走上了智能化转型的道路,而同时也有更多的云服务商投身其中,为智慧医院建设提供一体化解决方案,共同推动医疗信息化改革。

那么,在这样的驱动下,我国智慧医院是否能迎来一个光明的未来呢?

1 传统医院,是否到了变革的十字路口?

未来如何,得先确定一下未来是否会来,是否存在足够的条件支持传统医院走上转型升级的道路。

当前,我国正处于智慧医院建设的第一阶段。随着疫情防控的常态化开展、十四五规划的逐步落实,聚焦智慧医疗改革必然成为未来社会发展的关键方向。

事实上,近两年来,我国也一直在政策层面对智慧医院建设施加正向推力。在2018年,国务院办公厅便印发了《关于促进“互联网+医疗健康”发展的意见》,明确指出到2020年,二级以上医院普遍提供分时段预约诊疗、智能导医分诊、候诊提醒、检验检查结果查询、诊间结算、移动支付等线上服务,积极发展“互联网+医疗健康”,引入优质医疗资源,提高医疗健康服务的可及性。

因此,有了明确的发展方向,伴随着AI、5G、云计算、大数据等前沿技术的快速发展和深化应用,“互联网+”也顺势迭代升级至“AI+”。更多新技术的底层支持,促使医疗信息化改革面向医院场景实现了更全面的智能化转型。

在广东省第二人民医院,中软国际云智能业务集团携手华为通过整合AI、云、大数据等前沿技术,打造并应用了医院智慧运营中心HOC大脑,使得院区内防疫、安防、消防等各环节实现了一屏精准化管理,突破了传统医院的管理模式。

而这样的实践,也使得智慧医疗的市场加速扩容。据中国电子学会统计的最新数据显示,到2021年医疗人工智能行业市场规模将会达到75.3亿元。那么,新需求的增长吸引着更多医疗从业者和云服务商涌向这个市场,商业化的驱动使得智慧医院的建设进入一个更加良性的发展阶段。

目前,中软国际云智能业务集团等云服务商正是在这样的发展下,积极参与到智慧医院的建设,通过技术和运营的方式和传统医院联合,共同推动医疗的信息化改革。

总的来说,在十四五规划的开局之年,智慧医院建设的各方面条件都有了相对比较成熟的基础,政策上的正向推力、技术上的应用落地和市场上的商业驱动等等,都促使着智慧医院必然会成为未来发展的大趋势。

2 智慧医院,还存在哪些建设误区?

趋势可以判断,而过程又该如何展开?智慧医院建设本身就是一个驳杂多元的系统,且不说传统医院体系交叠复杂,就智能化的建设而言也面临着多方协调、长期投入的难点。

在这个道路上,注定不会简单。在此,我们或许可以从三个关键词来思考一下,智慧医院发展还存在着哪些建设上的误区?

1.     底座:光想着“建高楼”,不可忽视了“打基础”。

很多时候,传统行业的智能化升级不能只是原地起高楼,光想着在传统模式上部署项目、落实技术是不行的,新旧结合意味着流程重塑,还必须得统筹全局,打好基础。

比如,如果只是在原来的各个节点部署新系统,是否可以建设好智慧医院?答案是不能的。对此,中软国际云智能业务集团选择了以HOC大脑+八大应用+数字平台为主的顶层设计,实现院区从门诊到住院、从诊疗到科研、从患者体验到医护效率的全智能化覆盖,赋能医院从粗放式向精细化转变。

同时,“打基础”还不只是顶层设计的问题,从长远目标来看,更是整个医疗系统的全方位转型落实。因此,中软国际云智能业务集团在打造智慧院区解决方案上,重点也将云、AI、5G、大数据等技术应用于医、教、研、管等各个领域,做好各方面的转型工作。

以“研”来说,医药研发是日常患者并不关注的领域,但确是推动医疗行业发展的基础。将新技术应用于基础领域,正是立足在医疗行业的全局发展,从最核心的环节做好技术赋能。也只有把基础打好了,才能保证智慧医院的“高楼”建设稳定而又高效,这便是“底座”的价值。

2.    场景:哪些群体才是智慧医院的服务对象?

医院是面向患者的服务场景,而智慧医院不然,其需要面向患者,也需要面向医护人员、医院管理者、医联体等多个主体。因此,明确哪些群体才是智慧医院的服务对象至关重要。

如果无法兼顾多个服务对象,智慧化升级终究是不完整的,智慧医院也就名不副实。这也是为什么中软国际云智能业务集团致力于打造“全场景智能医院”的初衷。

面向患者,需要打造全流程智能就医,优化就诊体验;面向医护,需要打造智能工作站,辅助贯穿诊疗全流程;面向医院管理者,需要打造全方位可视、可管、可控的服务能力,推动精细化管理,等等。中软国际云智能业务集团在打造全场景智能医院时,正是明确了这些服务对象,进而针对特定的群体开展系统部署,提供全面的智能化升级服务。

中软国际云智能业务集团执行总裁孙佳韡认为,“这段时期,人们更多是给数字经济未来的腾飞建设一条相互连接公路,只有“路”修通了,数字经济才有了基础,人们才会真正认识到其所带来的新机会。”

很显然,对于智慧医院建设而言,需要搭建的正是让每一个对象触达智慧医院的“公路”,只有每一个人脚下的“路”修通了,智慧医院的成果才能真正惠及到社会。

3.    生态:”单打独斗”已成过去式,协同的价值可以发挥几何?

总的来说,智慧医院建设一个既宽泛也很有纵深的工程,这也决定了其必然需要一个长期的投入和布局。因此,在智慧医院的建设历程上,仅是一个人的单打独斗很乏力,更多是基于生态联合,整合优势才能撑起医院系统全方位的智能化。

因此,中软国际云智能业务集团在打造全场景智能医院的过程,也携手华为强强联合推动医疗信息化改革。此次2021全国智慧医院建设大会的召开,也正是希望在经验交流中集思广益,让更多的从业者看到合作的希望,通过生态整合来推动智慧医院的落地。

思维导向驱动发展进程。中软国际云智能业务集团所构想的“全场景智能医院”既然要全面,就必然需要连同更多的生态伙伴,在专业分工下打造完整的医院智能系统。

事实上,伴随着传统产业的智能化改革,这样生态路径会是常态,也是主流。这也意味着,智能化升级考验的不仅是自家的能力,也挑战者生态的水平,谁能携手更多更优质的生态伙伴,谁就拥有更大的市场优势。

3 下一代更智慧的医院,还有多远?

目前,我国智慧医院建设才刚刚起步,从三个关键词来看,建设者需要避免进入“基础不牢”、“服务对象不清晰”、“个人单打独斗”的误区。而做好底座建设、场景布局和生态合作三个层面的工作,也意味着智慧医院并非一蹴而就。

但也并不是遥不可及。中软国际云智能业务集团携手华为广东省第二人民医院打造智慧院区项目已取得了不错的反馈。据官方数据显示,基于智慧化升级,院区安保成本下降15%,能耗成本下降10%,就医时间成本减少了0.5h。

可见,在稳步的建设推动下,智慧医院相较于传统医院,正在持续优化院区管理和就医体验。只要伴随着前沿技术的深化应用和流程设计的科学部署,智慧医院将会从更多的层面推动医院系统和诊疗服务实现更便捷、高效的发展。

而在这个过程,更多的建设者需要看到智慧医院发展的误区,能笃定智慧医院的未来,并从前沿技术、诊疗流程、管理领域、生态伙伴等多个层面切实推动医院转型升级,才能迎来一个更智慧的未来医院。


友情链接