博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
移动网络应用开发中,使用 HTTP 协议比起使用 socket 实现基于 TCP 的自定义协议有哪些优势?...
阅读量:6077 次
发布时间:2019-06-20

本文共 611 字,大约阅读时间需要 2 分钟。

HTTP 是应用层协议,TCP 是传输层协议(位于应用层之下),放在一起类比并不合适。
不过猜测楼主是想对比 “标准 HTTP 协议” 还是 “自定义的协议(基于 TCP Socket)” 。

一般来说,移动应用推荐使用 HTTP 协议,有很多优点:

  1. HTTP 发展成熟
    HTTP 几乎已经快成为一种通用的 Web 标准,Web Services、REST、Open API、OAuth 等等都是基于 HTTP 协议的。它已经不仅仅是 Hyper Text 的传输标准了,几乎所有数据的传输(多媒体、XML、JSON)都可以采用 HTTP。
  2. 后台复用
    因为很多应用,除了有移动端,还有Web端,甚至桌面端。
    Web 版中前后台交互,无论是页面请求还是 AJAX 请求,都是采用标准 HTTP 协议。那么其他的客户端没有理由重新设计一套协议。
  3. HTML 5 应用
    现在不少移动产品都采用或者半采用 HTML 5 技术,那么和服务器的交互又回归到 AJAX 上。不用说,还是离不开 HTTP。

但是也有一些局限性,比如以下场景就不适合 HTTP 协议:

  1. 实时数据推送
    除了 iOS 开发提供有标准的 Apple 消息推送中心,其他移动产品可能还是要采用 Socket 长连接才能保证实时通讯。
    比较常见的有很多即时通讯软件采用的 XMPP 协议。
  2. 流媒体
    适用于音频播放、视频播放、语音会议等等,一般可能采用 RTMP 协议。

转载地址:http://vhxgx.baihongyu.com/

你可能感兴趣的文章
拼包函数及网络封包的异常处理(含代码)
查看>>
文本宽度的测量--measureText
查看>>
深圳市腾讯计算机系统有限公司-3G-产品经理(广州)(职位编号:7413)
查看>>
适配器模式 adapter 结构型 设计模式(九)
查看>>
FSDK_ActivateLibrary Function
查看>>
IT题库3-线程实现的方式
查看>>
CSS overflow 属性
查看>>
Mybatis的动态代理模式
查看>>
[java]网上商城错误集锦 ...
查看>>
团队开发流程
查看>>
给vue项目添加ESLint
查看>>
H5端调起百度地图、腾讯地图app
查看>>
yum安装软件报错Segmentation fault处理
查看>>
程序员45个好习惯
查看>>
关于保留页面状态的一些总结
查看>>
3 ways of including JavaScript in HTML
查看>>
js的Prototype属性 解释及常用方法
查看>>
EntityFramework 启用迁移 Enable-Migrations 报异常 "No context type was found in the assembly"
查看>>
SCC模板
查看>>
专题二经典问题解析_13
查看>>