自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我现在只是一名大学生,写博客只是为了保存自己的所学的东西和推断,若有不对的,欢迎各位前辈指出

  • 博客(349)
  • 收藏
  • 关注

原创 zmq中的 zmq_errno

int zmq_errno (void)        该api返回的是错误码

2016-12-09 14:31:43 1329

原创 zmq 中的 zmq_disconnect

int zmq_disconnect (void '*socket', const char '*endpoint') 该api 断开一个指定的连接,成功返回的是0,失败返回的是-1,并且设置错误值 ERRORS------*EINVAL*:: endpoint 无效*ETERM*::socket 被终止*ENOTSOCK*::socket无效*ENOENT

2016-12-09 14:30:58 761

原创 zmq中的 zmq_curve_keypair

int zmq_curve_keypair (char *z85_public_key, char *z85_secret_key);   该api 随机生成公有键和密码键,调用该函数需要提供两个缓冲区,每个缓冲区至少41那么么大.public_key 和 secret_key 会通过这两个缓冲区获得   成功返回的是0, 失败返回的是-1example:cha

2016-12-09 14:30:04 699

原创 zmq 中的 zmq_curve

zmq_curve  安全认证    对于服务器, 应用程序 应该在socket设置ZMQ_CUREV_SERVER选项,并且设置这个ZMQ_CURVE_SECRETKEY选项去提供secret-key,而应用程序不会提供public-key,它仅仅是被用于客户端   对于客户端, 应用程序用public-key 设置ZMQ_SERVER_SERVERKEY选项

2016-12-09 14:29:21 840

原创 zeromq 中的 zmq_ctx_term

int zmq_ctx_term (void '*context') 销毁一个zmq的context并且回收资源 成功返回的是0,失败返回的是-1.   *EFAULT*:: context 无效*EINTR*::  被信号终止

2016-12-09 14:28:41 595

原创 zeromq中zmq_ctx_shutdown

int zmq_ctx_shutdown (void '*context');  该api导致当前进程中的指定context中的任何阻塞操作 立即返回,并且设置错误为 ETERM, ,该函数调用后仍然需要去调用zmq_ctx_term去回收资源 成功返回的是0,失败返回的是-1,并且设置错误码    ERRORS------*EFAULT*:: 设置的错误码无效

2016-12-09 14:27:50 662

原创 zmq_ctx_set

int zmq_ctx_set (void '*context', int 'option_name', int 'option_value');  该api 设置 context的选项值   option_name的值如下: ZMQ_IO_THREADS: 标识着context中线程池中线程的个数ZMQ_MAX_SOCKETS: 标识这context允许存在的最大连接

2016-12-09 14:27:20 707

原创 zeromq 中的zmq_ctx_new

void *zmq_ctx_new () 该api 创建一个新的 zmq的context    失败返回的是NULL

2016-12-09 14:26:43 1229

原创 zeromq中的zmq_ctx_get

int zmq_ctx_get (void '*context', int 'option_name');  该api 获得 context的选项值   option_name的值如下: ZMQ_IO_THREADS: 标识着context中线程池中线程的个数ZMQ_MAX_SOCKETS: 标识这context允许存在的最大连接数ZMQ_IPV6: 标识着ipv6

2016-12-09 14:25:59 339

原创 zeromq 中的 zmq_ctx_destory

int zmq_ctx_destroy (void '*context');该api 结束一个zmq的 context,成功返回的是0,失败返回的是-1.并设置errno的值  *EFAULT*:: 提供的context无效*EINTR*:: 被一个信号终止

2016-12-09 14:25:15 513

原创 zeromq中zmq_connect

int zmq_connect (void '*socket', const char '*endpoint');    该api的作用是连接到指定的地址,成功返回的是0,失败返回的是-1,并且设置errno值  ERRORS------*EINVAL*:: endpoint是无效的*EPROTONOSUPPORT*:: 传输协议不支持*ENOCOMPATPRO

2016-12-09 14:24:34 1947

原创 zeromq 中的 zmq_close

int zmq_close (void '*socket');  该api的作用是关闭一个套接字,成功返回的是0.失败返回的是-1,并且设置errno的值 ENOTSOCK:      socket 是无效的.

2016-12-09 14:23:50 544

原创 zeromq 中的 zmq_bind

zmq_bind:该api ,在一个socket上接受一个正在连接的连接 int zmq_bind (void '*socket', const char '*endpoint'); 它 绑定 socket到一个本地的端口,并且在这个端口上接受一个正在准备接入的连接 这个endpoint 是一个字符串,包含协议,地址,端口example: “tcp://

2016-12-09 14:23:17 2936

原创 zeromq 中的sockets

zmq中的socket 提供了一个抽象的异步消息队列,其精准的队列语义依赖于socket的类型,创建一个socket,可以用zmq_socket,关闭一个socket可以用zmq_close. 获取socket的选项可以用zmq_getsockopt设置socket的选项,可以用zmq_setsockopt, 建立连接可以用zmq_bind,zmq_connect , 在套接字的基础上我们可以

2016-12-09 10:07:30 341

原创 zeromq 中的消息

初始化一个消息 :            zmq_msg_init            zmq_msg_init_size            zmq_msg_init_data   接受或者发送一个消息:            zmq_msg_send            zmq_msg_recv   访问一个消息:            zmq_msg_d

2016-12-09 09:48:03 212

原创 zeromq 在ubuntu 下的编译命令,以及使用时的注意事项

gcc  test.c -o test -lzmq在使用zmq 的api之前, 必须要先创建zmq的 'context', 当退出程序的时候, 我们应该销毁这个 context,创建一个新的context , 使用 zmq_ctx_new, 设置这个context的属性, 我们可以用zmq_context_set, 获取这个context的属性, 可以用zmq_ctx_ge

2016-12-09 09:36:41 495

原创 Ubuntu 下搭建 zmq + c/c++ 开发环境

1. 下载zmq 的源码2. 解压,3. 进入builds 目录下的 cmake目录4. sudo ./ **.sh5. 在build_make目录下有生成文件,6. 将bind_make目录下的lib文件复制到上一个目录下7.在/etc/profile 修改环境变量     export C_INCLUDE_PATH=$C_INCLUDE_PA

2016-12-08 17:45:37 2918 1

原创 生成unix时间戳的办法

long long timeInMilliseconds(void) {    struct timeval tv;    gettimeofday(&tv,NULL);    return (((long long)tv.tv_sec)*1000)+(tv.tv_usec/1000);}

2016-12-08 17:35:19 665

转载 linux 下修改最大连接数的办法

1、修改用户进程可打开文件数限制在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统允许当前用户进程打开的文件数限制:[speng@as4 ~]$ ulimit

2016-12-08 17:34:00 9787

原创 redis之zset

Ziplist 数据结构的定义     Zskiplist的操作         Zset的结构定义  Zset的函数操作     Dict结构体的定义       dictAPI  dict *dictCreate(dictType *type, void *privDataPtr);int

2016-12-08 17:32:56 271

原创 zmq 中的cs 模式总结

zmq 中的 cs模式  zmq 中 的 网络编程,  server:    zmq_ctx_new 创建环境,即启动线程池,初始化一些结构体等等一些预备操作,,, zmq_socket 创建套接字,就是linux c中 的socket,  zmq_bind绑定地址并对进行监听(linux c中是 bind  listen),然后 我们就可以send ,

2016-12-08 17:31:27 838

原创 zmq 学习总结

// 非线程安全 zeromq api 学习总结:       1.  返回值为void *的, 失败是null(大多数)       2. 返回值是 int的, 与linux c 一样, 失败为-1,成功为0(大多数)zmq_socketvoid*  zmq_socket(void* context, int type);   成功返回一个不透

2016-12-08 17:30:33 4997 3

原创 redis中的zset

跳跃表 skiplist  typedef struct zset {     // 字典,键为成员,值为分值    // 用于支持 O(1) 复杂度的按成员取分值操作    dict *dict;    // 跳跃表,按分值排序成员    // 用于支持平均复杂度为 O(log N) 的按分值定位成员操作    // 以及范围操作    zskiplist

2016-12-08 17:27:52 472

原创 zmq 中的事件

extern "C"{#include }#pragma comment(lib,"libzmq_d.lib")#include #include #include int read_msg(void* s, zmq_event_t* event, char* addr){zmq_msg_t msg1, msg2;zmq_msg_in

2016-12-08 10:59:50 1428

原创 zmq 中的事件类型

ZMQ_EVENT_CONNECTED:链接已建立  当和远程的另一端的连接建立好的时候,ZMQ_EVENT_CONNECTED事件会被触发。同步和异步事件都会发生触发此事件。事件值是新连接的socket的FD。 ZMQ_EVENT_CONNECT_DELAYED:同步连接失败,仍在进行重试  当一个请求立即连接的尝试被延迟并且仍然在尝试的时候,此事件被触发。事件值

2016-12-08 09:52:58 1670

原创 zeromq 的发布 订阅模式

订阅者模式    // weatherUpdateClient.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"/*    订阅者模式*/extern "C"{#include }#pragma comment(lib,"libzmq_d.lib")#include #include #def

2016-12-07 17:40:23 2273

原创 zeromq 的 ZMQ_DEALER 模式

ZMQ_DEALER  模型   该模型是对请求响应套接字的扩展, 每个消息的发送是通过轮询调度算法去实现. 其 send和 recv 是不受限制 的     example:       server:     // ZMQ_DECLARE_SERVER.cpp : 定义控制台应用程序的入口点。// #include "stdafx.h"#include 

2016-12-07 15:18:28 9363

原创 zeromq 中的zmq_socket 中的 ZMQ_REP 和 ZMQ_REQ

// 非线程安全  zmq_socketvoid*  zmq_socket(void* context, int type);    该API 会根据context , type创建一个不透明的套接字句柄.  并且是没有初始化连接的 也没有和任何端口联系在一起,如果是客户端,这时就需要用zmq_connect去连接到服务器  如果是服务器,需要去用zmq_b

2016-12-07 14:13:06 6743

原创 zeromq 测试用例,一个简单的接受浏览器信息的例子

#include #include extern "C"{#include #include }#pragma comment(lib,"libzmq_d.lib")int main(int argc, char* argv[]){   // 初始化环境   void * context = zmq_ctx_new();if (!context)

2016-12-06 20:18:22 1050

原创 zeromq 和 vs2013环境搭建

第一步下载源码包    找到然后:然后引入相应的头文件和库文件  然后将bin目录下的动态库文件赋值到生成目录下

2016-12-06 20:17:14 1481 1

原创 ffmpeg之av_dump_format的使用,打印流的信息

#include #include extern "C"{#include #include #include }#pragma comment(lib,"avcodec.lib")#pragma comment(lib,"avutil.lib")#pragma comment(lib,"avformat.lib")int main(int

2016-12-05 16:25:59 7731

原创 ffmpeg之如何获得一个媒体文件的AVStream,并从该基础上获得AVCodec,AVCodecContext

#include #include extern "C"{#include #include #include }#pragma comment(lib,"avcodec.lib")#pragma comment(lib,"avutil.lib")#pragma comment(lib,"avformat.lib")int main(int

2016-12-05 16:16:49 1462 1

原创 ffmpeg之将av_log,av_log_set_level的用法和意义

AV_LOG: // 该函数是打印ffmpeg中的日志.AV_LOG_SET_LEVEL: //这个函数是用来设置日志的标准, 其意义是指: 设置日志打印的标准, 高于这个标准的将不会打印 Example:  #include #include extern "C"{#include #include #include }#pragma commen

2016-12-04 20:32:23 7662

原创 ffmpeg之将avi格式的视频和音频分离

#include "stdafx.h"#include extern "C"{#include #include #include }#pragma comment(lib,"avcodec.lib")#pragma comment(lib,"avformat.lib")#pragma comment(lib,"avutil.lib")int _tm

2016-11-23 18:24:12 1478

原创 MFC中的控件

MFC的各种控件使用   静态控件,包括图片,静态文本和分组框,默认ID都是IDC_STATIC.      按钮控件:     原形按钮,记住要加group属性.    register: 声明为寄存器变量      explicit: 禁止自动转换      mutable修饰的变量在常函数中也可以被修改了         组合框

2016-11-20 17:43:30 391

原创 MFC中的CListCtrl

// 创建 图标列表m_ilNormal.Create(MAKEINTRESOURCE(IDB_NORMAL), 32, 1, RGB(255, 255, 255));m_ilSmall.Create(MAKEINTRESOURCE(IDB_SMALL), 16, 1, RGB(255, 255, 255));//将图像列表设置到控件m_list.SetImageList(&m_i

2016-11-20 17:42:30 348

原创 MFC中的CImageList

CImageListCListCtrl中         //插入 itemint index = m_list.InsertItem(0, L"软件安装包", 0);m_list.SetItemText(index, 2, L"文件夹");

2016-11-20 17:41:34 303

原创 MFC中的CFileDialog

CFileDialog(  BOOL bOpenFileDialog,  // TRUE,打开,FALSE保存  LPCTSTR lpszDefExt = NULL, // 在保存对话框中,表示文件类型  LPCTSTR lpszFileName = NULL, // 保存对话框中,表示默认的文件名;  DWORD dwFlags = OFN_HIDEERADONLY, /

2016-11-20 17:40:49 290

原创 MFC中的CDialog类

CDialog::CDialog 构造 CDialog 对象。CDialog::Create 初始化 CDialog 对象。 创建无模式对话框并将它附加到 CDialog 对象。 CDialog::CreateIndirect 在内存(基于的不是资源从创建对话框模板的无模式对话框)。 CDialog::DoModal 调用模式对话框并返回,在执行。 CD

2016-11-20 17:39:48 7653

原创 mfc中的对话框

MFC的对话框...    分类:  模式  非模式相关类  CDialog类 - 父类是CWnd类.提供了对话框的基本操作.  CCommonDialog类 - 父类是CDialog类,称为通用对话框类,包括以下6个子类                         分别是文件对话框,颜色对话框,字体对话框,查找替换对话框页面设置对话框和打印对话

2016-11-20 17:38:56 294

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除