随笔分类 - 网络编程
摘要:
无线网络是指通过无线电磁波进行数据传输的网络。其实我们每天都生活在各种电磁波的覆盖下,但是我们却很少能够感知到它。
嵌入式是一个很泛的专业,如果不是专门做底层通信开发或是通信专业人士,基本上也很少嵌入式开发人员会去关注无线通信的原理和机制。
阅读全文
无线网络是指通过无线电磁波进行数据传输的网络。其实我们每天都生活在各种电磁波的覆盖下,但是我们却很少能够感知到它。
嵌入式是一个很泛的专业,如果不是专门做底层通信开发或是通信专业人士,基本上也很少嵌入式开发人员会去关注无线通信的原理和机制。
阅读全文
摘要:
为什么同一个设备,连接到不同的路由器,设备休眠保活的功耗会不一样?为什么同一个设备,连接到同一路由器,在不同环境或是时间进行测试,他们的功耗又会存在差异?这些问题,是设备问题,还是路由器问题?异或是其它的什么问题?
阅读全文
为什么同一个设备,连接到不同的路由器,设备休眠保活的功耗会不一样?为什么同一个设备,连接到同一路由器,在不同环境或是时间进行测试,他们的功耗又会存在差异?这些问题,是设备问题,还是路由器问题?异或是其它的什么问题?
阅读全文
摘要:前言: RTSP,RTCP,RTP一般是一起使用,在FFmpeg和live555这些库中,它们为了更好的适用性,所以实现起来非常复杂,直接查看FFmpeg和Live555源代码来熟悉这些协议非常吃力,这里将它们独立出来实现,以便更好的理解协议。本文主要介绍RTSP,RTCP,RTP加载AAC音频流。
阅读全文
摘要: 前言: 在linux系统进程间通信的方式有消息,消息队列,管道,内存映射,套接字等多种方式。 在Android系统上进行进程间通信主要是使用Binder,其它的还有共享内存,管道,RPC和Unix Domain等方式。 但是,在linux中常用的消息队列,在Android等系统上并不能直接的使用
阅读全文
摘要:前言: 网上对于RTSP协议客户端的表述和实现非常不清晰,在实际使用中,FFMPEG和live555这些软件已经实现了RTSP客户端和服务端的所有功能,但是它们并没有将RTSP协议独立出来,通过看live555或是FFMPEG这些第三方库的源码来学习rtsp协议还是非常吃力。这里根据协议自己现实一个
阅读全文
摘要:前言: RTSP,RTCP,RTP一般是一起使用,在FFmpeg和live555这些库中,它们为了更好的适用性,所以实现起来非常复杂,直接查看FFmpeg和Live555源代码来熟悉这些协议非常吃力,这里将它们独立出来实现,以便更好的理解协议。本文主要介绍RTSP,RTCP,RTP加载H264数据流
阅读全文
摘要: 1.前言: 网上已经有很多关于ONVIF开发的资料,这里概括介绍一下ONVIF协议以及介绍一下我自己在开发ONVIF网络摄像头的一些流程和经验,做个开发记录和经验总结,以备将来查看,也可供他人参考。如有错误,欢迎你的留言纠正,让我们共同成长。系列博客包括: 《ONVIF网络摄像头(IPC)客户端
阅读全文
摘要:前言 UDP协议是User Datagram Protocol的缩写,它是无连接,不可靠的网络协议。一般使用它进行实时性数据的传输,主要是因为它快,但因为它是不可靠的一种传输协议,所以不可避免的会出现丢包现象。本文就具体讨论导致UDP传输数据包丢失的原因以及一些基本的规避方法: 路由器转发造成的数据
阅读全文
摘要: 前言: 在linux系统关于流量统计,已经有开源的工具,比如nethogs,nload和iptraf。它们适合我们在PC上直接监控某台设备的流量情况,但并不适合我们应用到自己的程序中去。 如果要在自己代码中实现流量的统计,可以有下面几种方法:统计应用层流量;使用tcpdump抓取每一包数据进行统
阅读全文
摘要: 前言 在TCP网络编程模型中,无论是客户端还是服务端,在网络编程的过程中都需要判断连接的对方网络状态是否正常。在linux系统中,有很多种方式可以判断连接的对方网络是否已经断开。 通过错误码和信号判断 通过select系统函数判断 通过TCP_INFO套接字选项判断 通过SO_KEEPALIVE
阅读全文
摘要:前言: 127.0.0.1它是一个私有IP,代表的就是你的本机环回地址,其实本质上是绑定在虚拟网卡loopback上的IP。 在实际应用中,有遇到在使用本地回环做进程间通讯的时候程序阻塞的情况。比如下面代码 (一)本地回环: 客户端数据收发程序: static int send_recv(char
阅读全文

浙公网安备 33010602011771号