• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ios > iOS,什么应用或者场景下需要使用socket编程?

iOS,什么应用或者场景下需要使用socket编程?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了ios socket,ios socket网络编程,ios socket通信,ios socket编程,ios socket发送空格等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: iOS,什么应用或者场景下需要使用socket编程?
描述:

一些应用只是使用了HTTP编程,也就是只用了AFNetworking。 但是听说IM类的应用需要使用到socket,是为什么呢?


解决方案1:

  • IM应用服务器为了获取用户登录状态要不停地发送“心跳包”确认用户在线和用户的网络情况,用HTTP的话会有太多冗余信息(HEADER,CONTENT-TYPE,STATUS)之类的。

  • 很多IM应用为了安全性或者压缩数据会实现自己的网络协议。

解决方案2:

http是一次性的,socket可以实现长连接,凡是一个来回网络请求解决不了问题的都会用socket。
比如微信里刷新朋友圈、下载图片用http请求,收消息因为这边不知道什么时候来消息就搞个socket一直监听,发消息因为会比较频繁用http每次都要重新握手所以也要用socket,还有音视频通话,断点续传等等都要用socket。理论上启动微信或断网重连后的同步消息可以用http去请求没有收到的消息,但是因为诸多原因也是用socket。

当然我上面说的只是最基本的原因,用socket还有非常多的原因是http实现不了的。
凡是http能实现的,socket都能实现,因为http也只是socket via tcp的一种应用场景的协议。

IM大都是在socket基础上自己搞的一套传输协议,类似http,只不过是针对自己的业务开发的。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • iOS,什么应用或者场景下需要使用socket编程?

相关文章

  • 2017-06-05 在刷新tableView的时候遇section加载个数的问题,求大神解答。
  • 2017-06-05 语音通讯ios实时通讯可以发送语音么
  • 2017-06-05 研讨会通知收到通知后点击通知会执行哪个方法?
  • 2017-06-05 iOS有在应用里提醒用户更新版本的机制吗?
  • 2017-06-05 在swift中调用indexPathrow错误
  • 2017-06-05 UIDocumentInteractionController创建就crash有大侠么?
  • 2017-06-05 新手求教,ios的字控制器问题急急
  • 2017-06-05 按钮可以点击,但是进不去点击方法
  • 2017-06-05 iOS:encode非空枚举类型时发生空指针引用?
  • 2017-06-05 taylorswift图片(swift)有关图片旋转,到底是那里作错了

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 福原爱为什么会说中文为什么NimbusKit的中文资源那么少?
    • iOS基础控件iOS崩溃日志
    • 针对不能全屏的浏览器展示全屏滚动模式的页面
    • web游戏服务端移动端Web如何实现IOS双击事件。
    • 地图,怎样把CLLocationCoordinate2D转为CLLocation?
    • (swift)Thrift客户端出现“Couldnotread/write”问题
    • 关于IOStableView刷新问题
    • vst全聚合ios版iOS全屏图片适应问题
    • iOS开发,获取的二进制数据,在iOS9和iOS8上转化成字典,结果不一致
    • 切换跟控制器后。上一个控制器presentViewController子控制器的VIew还在。为什么?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有