当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: BIO对的创建和应用---根据openssl doc/crypt
 

 

    摘要:读写出错控制 ---根据openssl doc/crypto/bio/bio_should_retry.pod翻译和自己的理解写成 (作者:dragonking mail:wzhah@263.net 发布于:http://gdwzh.126.com之openssl专业论坛) 当bio_read或bio_write函数调用出错的时候,bio本身提供了一组出错原因的诊断函数,他们定义如下(openss......
    摘要:bio链的操作 ---根据openssl doc/crypto/bio/bio_push.pod翻译和自己的理解写成 (作者:dragonking mail:wzhah@263.net 发布于:http://gdwzh.126.com之openssl专业论坛) 我在介绍bio结构的时候说过,bio结构其实是一个链式结构,单个bio是只有一个环节的bio链的特例,那么我们怎么构造或在一个bio链中增......


openssl之BIO系列之9---BIO对的创建和应用
bio对的创建与应用

    ---根据openssl doc/crypto/bio/bio_new_bio_pair.pod翻译与自己的理解写成 【程序编程相关:linux经典问题==网络篇【绝对转载】

【推荐阅读:FreeBSD应用心得(1).安装和升级

     【扩展信息:Linux多网卡配置

    (作者:dragonking mail:wzhah@263.net 发布于:http://gdwzh.126.com之openssl专业论坛)

    

    bio对是bio中专门创建的一对缓存bio,要创建bio对,调用下面定义的函数(openssl\bio.h):

    int bio_new_bio_pair(bio **bio1, size_t writebuf1, bio **bio2, size_t writebuf2);

    这个函数调用成功后返回1,这时候bio1与bio2都是有效的了;否则就返回0,而bio1与bio2就会设为null,这是后可以检测出错堆栈以得到更多错误信息.

    这个bio对创建之后,它的两端都能作为数据缓冲的输入与输出.典型的应用是它一端与ssl的io连接,而另一端则被应用控制,这样,应用程序就不需要直接与网络连接打交道了.

    这两个bio对的功能是完全对称的,它们的缓冲区的大小由参数writebuf1与writebuf2决定,如果给定的大小是0,那么该函数就会使用缺省的缓存大小.bio_new_bio_pair不会检查bio1与bio2是否真的指向其它bio,bio1与bio2的值都被重写,但是在此之前不会调用bio_free()函数.所以,在使用bio1与bio2之前,必须自己保证这两个变量是空的bio,否则可能造成内存泄漏.


...   下一页
    摘要:bio的io操作函数 ---根据openssl doc/crypto/bio/bio_read.pod翻译和自己的理解写成 (作者:dragonking mail:wzhah@263.net 发布于:http://gdwzh.126.com之openssl专业论坛) 这些函数是bio的基本读写操作函数,包括四个,他们的定义如下(openssl/bio.h): int bio_read(bio *b......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE