C++学习
文章平均质量分 59
jaylong35
因为有所以没有
展开
-
linux网络通讯程序无提示自动退出——SIGPIPE信号退出
问题:最近写了一个网络通讯程序,在局域网内调试测试都没有出问题,但是一拿到真实环境就总是出错,异常自动退出最后根据strace发现,是因为sigpipe信号给结束掉的。关于sigpipe信号:产生原因:当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGP原创 2011-11-28 15:52:30 · 2681 阅读 · 0 评论 -
linux的strace命令用法
strace命令用法 调用: strace [ -dffhiqrtttTvxx ] [ -acolumn ] [ -eexpr ] ... [ -ofile ] [ -ppid ] ... [ -sstrsize ] [ -uusername ] [ command [ arg ... ] ]strace -c [ -eexpr ] ... [ -Ooverhead ] [转载 2011-11-28 15:19:27 · 672 阅读 · 0 评论 -
std::map 通过遍历删除满足某些条件元素的两种方式
方法一:std::map mapTest;bool TestVal(const std::string & val);......std::map::iterator it = mapTest.begin();while(it != mapTest.end()){ if(TestVal(it->second)) {原创 2011-10-31 11:13:10 · 10618 阅读 · 4 评论 -
c-ares linux下面的编译
1、下载c-ares2、下载并安装autoconf,因为要通过autoconf来产生configure文件安装1、运行c-ares解压目录下的buildconf2、再在当前目录下运行autoconf configure.ac3、然后就生成了configure文件接下来安装就和其它库的正常安装方式相同了原创 2011-12-05 12:51:06 · 6396 阅读 · 0 评论 -
libcurl 多线程使用注意事项(补充)——HTTPS,openssl多线程使用加锁
问题多线程libcurl运行一段时间后出现崩掉,没有确定的点,没有确定的URL。一直查看源代码没有问题,最后通过debug跟踪发现是在访问SSL的时候出现的crash。才想起来openssl是不支持多线程的,要自己做加锁处理。而且libcurl中并没有支持相关的加锁操作。解决办法:在初始化libcurl的时候为openssl创建一个互斥锁函数,一个回调函数传给openss原创 2011-11-18 15:43:14 · 16099 阅读 · 1 评论 -
libcurl 多线程使用注意事项
1、问题来源,多线程使用Libcurl导致程序跑一段时间后自己退出,没有明显的异常。找不到合适的BUG。 最后通过查看资料和网上找的一些文章,发现,原来是信号处理的问题: CURLOPT_NOSIGNALPass a long. If it is 1, libcurl will not use any functions that install signal h原创 2011-05-23 14:00:00 · 11212 阅读 · 0 评论 -
linux C++ 实现ping类
//头文件/* * File: CPing.h * Author: jaylong35 * * Created on 2011年1月26日, 下午3:12 */#ifndef CPING_H#define CPING_H#include #include #include #include #include #include #include #includ原创 2011-01-26 18:15:00 · 6426 阅读 · 11 评论 -
libcurl发送邮件C++类
先上源码H/* * File: CSendMail.h * Author: jaylong35 * * Created on January 16, 2012, 6:14 PM */#ifndef CSENDMAIL_H#define CSENDMAIL_H#include #include #include #include #define MUL原创 2012-01-19 10:38:37 · 8609 阅读 · 5 评论