- 博客(12)
- 资源 (3)
- 收藏
- 关注
原创 多客户端通信之Select服务器
多客户端通信之Select服务器// server3.cpp : 定义控制台应用程序的入口点。 //include “stdafx.h”include include include “SocketList.h”using namespace std;DWORD WINAPI WorkThread(LPVOID lpParam) { SocketList* userlist=(Sock
2017-01-30 21:15:12 498
转载 Socket学习之select多路复用的客户/服务器模型
1. 阻塞与非阻塞首先介绍几个基本的概念。阻塞方式( block ),顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,假如事件没有发生,进程或线程就被阻塞,函数不能立即返回。非阻塞方式( non-block ),就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回值的不同来反映函数的执行情况,假如事件发生则和阻塞方式相
2017-01-29 22:23:22 241
原创 Socket学习select服务器最简单的客户端
int _tmain(int argc, _TCHAR* argv[]){//初始化WinsockWSADATA wsaDATA;WORD version = MAKEWORD(2, 0);int ret = WSAStartup(version, &wsaDATA);if(ret != 0)cout SOCKET m_hSocket;SOCKA
2017-01-28 04:48:09 830
原创 Socket学习之select最简版服务器
首先创建一个Windows网络程序,定义变量->获得WINDOCK版本->加载WINSOCK库->初始化->创建套接字->设置套接字选项->关闭套接字->卸载WINSOCK库->释放资源首先要初始化一个WinSockettypedef struct WSAData { WORD wVersion;
2017-01-27 10:46:04 1271
原创 Live555 源码分析之延迟事件处理
live555的延迟事件 主要存放在BasicTaskScheduler0的成员变量 DelayQueue fDelayQueue;中 其中 DelayQueue 含有对延迟事件单元的增删改查 DelayQueueEntry中有DelayInterval fDeltaTimeRemaining
2017-01-25 15:50:32 1147
原创 ffmpeg 将图片合成视频以及将内存数据合成视频
av_register_all();//初始化解码器和复用器AVFormatContext* ofmt_ctx = NULL;//其包含码流参数较多,是一个贯穿始终的数据结构,很多函数都要用到它作为参数//首先创建一个封装格式,avformat_alloc_output_context2(&ofmt_ctx, NULL, NULL, out_filenam
2017-01-24 17:30:09 5099 5
转载 ffmpeg 编码器AVCodecContext 的配置参数
1、先说一些基本的API[cpp] view plaincopyAVFormatContex * pFormatCtxEnc; AVCodecContext * pCodecCtxEnc; AVStream * video_st; AVOutputFormat * pOutputFormat; pOut
2017-01-24 14:15:31 631
转载 select阻塞与非阻塞的含义
一个套接字阻塞或者不阻塞,select就在那里,它可以针对这2种套接字使用,对任何一种套接字的轮询检测,超时时间都是有效的,区别就在于:当select完毕,认为该套接字可读时,1 .阻塞的套接字,会让read阻塞,直到读到所需要的所有字节;2 .非阻塞的套接字,会让read读完fd中的数据后就返回,但如果原本你要求读10个数据,这时只读了8个数据,如果你不再次使用selec
2017-01-24 11:44:59 4356
原创 socket编程之select()
Select在Socket编程中还是比较重要的,它能够监视我们需要监视的文件描述符的变化情况——读写或是异常。 int select(int maxfdp,fd_set *readfds,fd_set *writefds,fd_set *errorfds,struct timeval *timeout); /*参数列表int maxfdp是一个整数值,是指集合中所有文件描述符的范围
2017-01-24 11:15:31 396
转载 ffmpeg时间戳设置以及含义
FFMPEG的很多结构中有AVRational time_base;这样的一个成员,它是AVRational结构的typedef struct AVRational{ int num; /// int den; ///} AVRational;AVRational这个结构标识一个分数,num为分数,den为分母。实际上time_base的意思就是
2017-01-22 19:21:35 5775
原创 rtp协议解析
RTP简要介绍实时传送协议(Real-time Transport Protocol或简写RTP,也可以写成RTTP)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的。RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。它一开始被设计为一个多播协议,但后来被用在很多单播应用中。RTP协议常用于流媒体系统(配合RTCP协议或者R
2017-01-22 16:25:50 736
原创 Live555 流媒体服务器启动
TaskScheduler* scheduler = BasicTaskScheduler::createNew(); 创建BasicTaskScheduler对象BasicTaskScheduler::createNew(unsigned maxSchedulerGranularity) 参数maxSchedulerGranularity的含义是指定我们默认等待时间返回事件循环以处
2017-01-18 21:57:38 554
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人