比较原声socket 、GCDAsyncSocket
原声socket
NSInputStream 输入流(OC)
NSOutputStream 输出流(OC)
1:通过c语言的输入输出流CFReadStreamRef/CFWirteStreamRef(输入/输出流),IP地址,端口号,连接服务器。
2:c语言输入输出流,强转oc输出输入流,
3:通过给oc输入输出流,添加代理、添加到主运行循环、开启。
4:监听连接状态,输入,输出流状态
---->创建连接

---->监听状态

---->写入数据

---->读取数据


=====================================================
1 通过socket对象 初始化对象 设置代理 添加到主队列
2 代理方法 监听连接/断开 到服务器 数据发送成功,有接收数据。
3 通过socket对象 write/read 实现读写功能。
ps:1 写入通过outputStream write发起的(发送字符的字节,长度)
2 接受通过inputStream read 发起的 (自定义缓存区,长度)
=================================================
1 写入 通过socket对象 write发起的(tag)
2 接受 通过socket对象 read发起的(tag)
---->建立连接

----->监听网络连接状态

---->写入数据

----->读取数据

小结:GCDAsyncSocket本质是封装了CFReadStreamRef/CFWirteStreamRef 输入 输出流 ^_^
比较原声socket 、GCDAsyncSocket的更多相关文章
- Socket&GCDAsyncSocket(异步Socket)
Socket ********************************************* 简单理解Socket 就是网络连接,可以实现两个点之间的数据通讯. •Socket允许使用长连 ...
- 关于ios原声嵌入web页面的问题
当在一个界面中既有原生又有web的时候,如果想让上下整体滑动的话,我们怎么确定web的高度呢,下面分享一下我的心得 首先在webView的代理方法中我们可以获取到加载完整个web页面的高度 - (vo ...
- 大D实例化model-->调用自定义类方法,大M调用原声model方法
class ContactsModel extends Model{ public function addxxx(){ } } $conmodel = D('contacts','Model'); ...
- 移动WEB模拟原声APP滑动删除
移动WEB模拟原声APP滑动删除 效果 代码 <!DOCTYPE html> <html lang="en"> <head> <meta ...
- node.js 安装方法 以及 用原声搭建服务器
node.js 安装方法: 第一步: 64位的安装包网址: https://nodejs.org/dist/v4.4.3/node-v4.4.3-x64.msi 第二步: 进入命令提示框 输入 ...
- 拖拽碰撞--原声js(自身理解上新的方法)
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- js原声快速实现选项卡
var Rea = document.getElementById("rep"); var ReaAll = Rea.querySelectorAll("li" ...
- ios原声音频播放AVAudioSession 总结
//音频播放/*英译:record:录音 */ 1 导入头文件#import<AVFoundation/AVFoundation.h>//AVAudioSession是一个单例模式.在IO ...
- 原声JavaScript实现滚动条·改1
修正了获取元素相对视口左距离的逻辑问题(之前的函数实际获取的是相对于页面左距离).去除了调试时忘记删除的mouseleave事件.将创建滚动条的功能单独列为一个函数. 添加了鼠标点在滚动条什么位置,就 ...
随机推荐
- apt-get 按照php7后apache 输出php源文件
需要添加php7的模块 sudo apt-get install libapache2-mod-php7.0
- [Asp.net MVC]Asp.net MVC5系列——添加视图
目录 系列文章 概述 添加视图 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 概述 在这一部分我们添加一个新的控制器HelloWorldController类, ...
- 日期的js插件DatePicker
官网:http://my97.net/dp/index.asp 百度网盘:http://pan.baidu.com/s/1c20y7uC 只显示月份 <input name="cost ...
- 使用srvany.exe将任何程序作为Windows服务运行
使用srvany.exe将任何程序作为Windows服务运行 2011 年 3 月 7 日 !本文可能 超过1年没有更新,今后内容也许不会被维护或者支持,部分内容可能具有时效性,涉及技术细节或者软件使 ...
- COGS 2434 暗之链锁 题解
[题意] 给出一个有n个点的无向图,其中有n-1条主要边且这些主要边构成一棵树,此外还有m条其他边,求斩断原图的一条主要边和一条其他边使得图不连通的方案数. 注意,即使只斩断主要边就可以使得原图不连通 ...
- centos rpmforge repo
在这里找到合适的rpm包:http://pkgs.repoforge.org/rpmforge-release/ 下载 wget http://pkgs.repoforge.org/rpmforge- ...
- idea 排除编译文件,恢复编译
- C#值数值类型转换
1.十进制转16进制 string result=number.ToString("X2"); >>0A //X2表示大写2位 2.字符串转数值类型 "); ...
- [猜数字]把两个数和告诉A,积告诉B,求这两个数是什么
1-20的两个数把和告诉A,积告诉B,A说不知道是多少,B也说不知道,这时A说我知道了,B接着说我也知道了,问这两个数是多少? 分析: 设和为S,积为M. 首先,A:我不知道. 说明:S可以分解成多个 ...
- Qt 常用的功能
1.程序重启 void Widget::reStart() { qApp->closeAllWindows(); QProcess::startDetached(qApp->appli ...