- 博客(12)
- 资源 (16)
- 收藏
- 关注
原创 linux最大打开描述符量修改
1.使用命令在bash中使用ulimit,仅对当前shell生效另外可以在bashrc等启动脚本里面加上ulimit的命令行2.使用函数在自己的程序中调用setrlimit来修改3.修改配置文件(没试过,看到别人写的)debian/redhat下修改/etc/security.limits.conf,增加类似如下两行:* soft nofile 4096* hard
2013-02-19 10:15:35 436 1
原创 突破select上限的方法(windows下)
大家耳熟能详的方法:1.修改定义的宏#undef FD_SETSIZE#define FD_SETSIZE 10242.从boost asio中抽取的代码class win_fd_set_adapter : noncopyable{public: enum { default_fd_set_size = 1024 }; win_fd_set_adapt
2013-02-19 09:54:34 3844 1
原创 (自用型)windows/linux网络编程通用跨平台头文件定义
#ifndef _SOCKET_TYPE_H#define _SOCKET_TYPE_H#ifdef _WIN32#include #define ERRNO (WSAGetLastError())#define NEEDBLOCK WSAEWOULDBLOCKtypedef int socklen_t;#else#include #include #include #i
2013-02-19 09:09:41 3125
转载 sql事务处理
事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。在sql server+ .net 开发环境下,有两种方法能够完成事务的操作,保持数据库的数据完整性;一个就是用sql存储过程,另一个就是在ADO.NET中一种简单的
2013-02-18 17:21:53 1587
转载 浅析Sql Server参数化查询
说来惭愧,工作差不多4年了,直到前些日子被DBA找上门让我优化一个CPU占用很高的复杂SQL语句时,我才突然意识到了参数化查询的重要性。相信有很多开发者和我一样对于参数化查询认识比较模糊,没有引起足够的重视错误认识1.不需要防止sql注入的地方无需参数化 参数化查询就是为了防止SQL注入用的,其它还有什么用途不知道、也不关心,原则上是能不用参数就不用参数,为啥?多麻烦,我只是做公司内
2013-02-18 17:18:00 449
原创 boost计算随机数和计算crc32简单示例
// 计算随机数(同一时刻值不会重复)uint32_t createRandam32(){ static boost::mt19937 mt((uint32_t)time(NULL)); return mt();}// 计算指定缓冲的crc32检验值uint32_t crc32( const void* data, size_t size ){ boost::crc_32_ty
2013-02-18 17:14:35 2474
原创 base64编解码
//Base64static const char cb64[]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";static const char cd64[]="|$$$}rstuvwxyz{$$$$$$$>?@ABCDEFGHIJKLMNOPQRSTUVW$$$$$$XYZ[\\]^_`abcdefgh
2013-02-18 17:11:08 772
原创 测试指定udp端口是否可以绑定
// 测试指定udp端口是否可以绑定,WIN32下记得要先初始化WSAStartup bool udpBindTest(uint16_t port) { SOCKET sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_IP); if (sockfd == INVALID_SOCKET) return false; struct soc
2013-02-18 17:06:01 2611 1
原创 简单计时器类 计算时间间隔
// 简单记时器,linux精确到微秒,windows到毫秒,获取的时间间隔单位为秒#ifdef _WIN32 class EasyTimer { public: EasyTimer(bool startNow = false) { if (startNow) _start = GetTickCount(); } ~EasyTimer(){} public:
2013-02-18 16:35:36 698
转载 vi命令一览
文本编辑器是所有计算机系统中最常用的一种工具。UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi,而vi命令繁多,论坛里好像这方面的总结不多,以下稍做总结,以资共享!渴望更正和补充! 进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首vi + filename :打开文件
2013-02-18 13:34:14 385
转载 operator new与new operator
operator new(1) 只分配所要求的空间,不调用相关对象的构造函数。当无法满足所要求分配的空间时,则 ->如果有new_handler,则调用new_handler,否则 ->如果没要求不抛出异常(以nothrow参数表达),则执行bad_alloc异常,否则 ->返回0(2) 可以被重载(3) 重
2013-02-18 13:33:29 383
转载 udp打洞的几种结果
结论1:只要单侧NAT属于Full Cone NAT,即可实现双向通信。 结论2:只要两侧NAT都不属于Symmetric NAT,也可双向通信。换种说法,只要两侧NAT都属于Cone NAT,即可双向通信结论3:一侧NAT属于Symmetric NAT,另一侧NAT属于Restricted Cone,也可双向通信。结论4,两个都是Symmetric NAT或者一个是Symmetric
2013-02-17 11:05:54 672
linux开发常用帮助文档
2011-12-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人