iOS_网络
文章平均质量分 73
AmoAmo_Amo
这个作者很懒,什么都没留下…
展开
-
大小端模式
大小端模式原创 2017-08-08 23:57:30 · 3657 阅读 · 1 评论 -
Socket编程中select函数用法详解
select()在SOCKET编程中还是比较重要的,可是对于初学 SOCKET 的人来说都不太爱用select()写程序,他们只是习惯写诸如conncet()、accept()、recv()或recvfrom()这样的阻塞程序(所谓阻塞方式 block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用 select() 就可以完成非阻塞(所谓非阻塞方式 non-block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦转载 2017-07-03 20:05:16 · 2315 阅读 · 0 评论 -
VideoToolbox视频编码——在macOS上对获取到的视频进行编码的问题记录 及YUV422转YUV420
想在macOS平台上写一个将Mac摄像头上获取到的视频数据使用VideoToolBox编码后socket发送出去的服务器,但是遇到了好多问题先是在接受数据的客户端最终渲染出来的视频中发现绿屏现象,如下图所示:并且报-12911的错误信息,网上查了一下说是视频数据不完整的原因,经过验证,初步排除了socket收发数据有误的可能,所以暂时将焦点放在了macOS端的工程上,将ma原创 2017-08-11 19:20:14 · 6598 阅读 · 3 评论 -
socket通信---UDP通信
至于TCP通信,网上已经有很多整理得很清晰的博客了,这里不再赘述,就UDP简单说一说。其实很多时候,一个项目的实现过程,就是在最简单的方法上 一步一步地增加、完善它的功能。类似于文件操作socket传输,用Byte可以,也可以用字符指针(C)原创 2017-06-28 20:58:26 · 406 阅读 · 0 评论 -
基于iOS的网络音视频实时传输系统(一)- 前言
之前在做类似的网络协议的时候,突发奇想,想写一个网络视频监控,基于局域网的情况下,将MacBook摄像头捕获到的视频,在手机端显示,但是由于对macOS不是很熟悉,最终导致该计划流产。所以后来干脆使用手机捕获视频数据。为了简化项目工作量,socket协议也只用到了一些必要的功能,其他细节如client端退出监控视频时,server端会crash,各位有需要可以自行去添加一些如设置select()函数,或者设置signal()函数忽略这个断开的信号。等等项目中没有写录制设备视频的功能,所以没有用到MP4原创 2017-09-24 23:57:15 · 6058 阅读 · 8 评论 -
基于iOS的网络音视频实时传输系统(四)- 自定义socket协议(TCP、UDP)
首先我们需要明确一点的就是,为什么需要自定义socket协议?① 客户端与服务器间的相互通信是异步的② 理论上,二者都可以任意地发送或者接受数据③ 但是实际上,它们应该配合:当client发送时,server接受; 当server发送时,让client去接受④ 那么,任何让它们二者配合默契,相互协调呢?⑤ 这就引出了我们需要的——应用底层协议来解决⑥ 这个所谓的协议,实质上就是代码我们都知道,TCP或者UDP的握手协议(三次握手 三次挥手之类),不过这些协议都已经被封装在了TC原创 2017-07-01 23:41:32 · 2486 阅读 · 3 评论