自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 比较常用的随机函数

<br />double rnd(unsigned int x){static double c = 262147.0, t, i , r = 34359738365.0/549755813888.0;if (x == 1)r = r * c - (long)(r * c);elsefor (i = 1; i <= -x; i++)r = r * c - (long)(r * c);return r; } 

2010-09-13 03:12:00 839

原创 如何用Shell脚本修改crontab

<br />crontab -l > /tmp/crontab.bak<br />echo 'something new...' >> /tmp/crontab.bak<br />crontab /tmp/crontab.bak

2010-09-09 16:21:00 12687 1

原创 MySQL 多级查询

 需求1:在一个select 查询集中再次查询 SELECT * FROM (SELECT field FROM table) AS alias 需要注意后面的alias,在mysql中,这是必须的  需求2:一个查询集的结果不在另一个查询集中 SELECT feild1 FROM table1 WHERE feild1 NOT IN (SELECT fie

2010-03-16 03:38:00 4674

原创 MySQL触发器解决方案历程

 最近,项目中用到mysql,由于数据量非常大,每天的数据量在百万级,考虑到mysql数据库处理性能以及数据属性,决定保存足够多的查询数据即可,距当前时间最久远的数据直接删除,无需进行备份。 头脑中冒出的第一个想法就是,能否利用mysql中的触发器,检查数据表大小,如果超过预设长度,则删除部分数据。CREATE TRIGGER tg AFTER INSERT ON traffic_

2010-03-07 13:20:00 1180

转载 HTTP Range头域

  Range头域   Range头域可以请求实体的一个或者多个子范围。例如,   表示头500个字节:bytes=0-499   表示第二个500字节:bytes=500-999   表示最后500个字节:bytes=-500   表示500字节以后的范围:bytes=500-   第一个和最后一个字节:bytes=0-0,-1   同时指定几个范围

2009-07-27 10:48:00 4545

原创 很别致的链表

#include #include #include using namespace std;class A { public:     A(int n):val(n){} protected:     int val; }; class B:public A { public:     B(int n):A(n)     {         pB=(n>0? new B(n-1):0);

2009-01-10 20:37:00 817

转载 如何判断socket已经断开

最近在做一个服务器端程序,C/S结构。功能方面比较简单就是client端与server端建立连接,然后发送消息给server。我在server端会使用专门的线程处理一条socket连接。这就涉及到一个问题,如果socket连接断开(异常,正常)后,我如何才能感知到?server端这边是绝对被动的,sever端不能主动断开连接。也没有连接链路维持包之类的。client端发送数据的时间也是不定

2008-12-04 08:59:00 4015 1

原创 Libtorrent源代码阅读小札

 ses.start_dht()->ses_imp.start_dht(),session_impl是session的实现。跟踪进去,m_dht = new dht::dht_tracker(m_io_service, m_dht_settings, m_listen_interface.address(), startup_state),session_impl会在start_dht

2008-11-20 11:36:00 3457 2

原创 一道算法题的诸多思路(摘记)

只允许使用一个循环,先输出1至10内的奇数,然后输出其中的偶数 结果应该是这样的: 1 3 5 7 9 2 4 6 8   int main(){     FILE *f[]={fopen("con","w"),fopen("con","w")};     for(int i=1;i     return 0; }  1) #include void main(()

2008-11-19 08:50:00 632

转载 关于阅读源代码

      阅读源代码对于程序员来说是提高技术实力和业务知识最好的方法,那么我们怎样阅读源代码就是我们 首先要解决的问题。      阅读源代码就像管理一家大的公司,关键在于管理者卓越的领导意识。作为阅读源代码的人也应该有良好的意识,在阅读源代码时才能事半功倍。养成良好的阅读习惯。      阅读方法如下:1***************************************

2008-11-18 14:16:00 675

原创 linux下多线程程序的链接选项问题

 在利用automake自动生成makefile文件的过程中如果我们需要链接linux的多线程库那么需要在makefile.am中添加链接选项LIBS+=lpthread 如果需要链接boost::thread库则需要添加LIBS+=lboost_thread 否则,会出现undefined reference to 的链接错误

2008-11-17 13:16:00 788

转载 关于Linux下时间编程的问题

  1. Linux下与时间有关的结构体 struct timeval { int tv_sec; int tv_usec; }; 其中tv_sec是由凌晨开始算起的秒数,tv_usec则是微秒(10E-6 second)。  struct timezone { int tv_minuteswest; int tv_dsttime; };

2008-11-17 13:15:00 552

转载 gethostbyname的用法

使用这个东西,首先要包含2个头文件:#include #include struct hostent *gethostbyname(const char *name);这个函数的传入值是域名或者主机名,例如"www.google.com","wpc"等等。传出值,是一个hostent的结构(如下)。如果函数调用失败,将返回NULL。struct hostent {     char *h_name

2008-11-11 10:27:00 1073

转载 Socket send函数和recv函数详解

 int send( SOCKET s,      const char FAR *buf,      int len,      int flags );  不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。该函数的第一个参数指定发送端套接字

2008-11-11 09:10:00 17490 4

转载 【send/sendto/sendmsg系统调用】

    功能描述:发送消息。send只可用于基于连接的套接字,send 和 write唯一的不同点是标志的存在,当标志为0时,send等同于write。sendto 和 sendmsg既可用于无连接的套接字,也可用于基于连接的套接字。除了套接字设置为非阻塞模式,调用将会阻塞直到数据被发送完。用法: #include #include ssize_t send(int sock, cons

2008-11-11 09:03:00 1728

转载 关于unicode,mbcs,utf8,charset,encoding等相关概念的说明

好像第一次遇到跟字符集有关的问题大概应该是在7年前,第一次写java,总是会出现编码转换的问题,动不动就乱码,基本上,本着实用主义的态度,以盲人摸象的手法,总算是能够解决问题的。这些年来,不停的会遇到编码方面的问题,随着每一次解决问题,都感觉多揭开了一点笼罩在这一堆乱七八糟的东西上面的迷雾,然而,直到去年年中,我仍然没有完全搞明白这堆乱七八糟的名词和概念之间,究竟是怎样的关系。 去年年中开始的项目

2008-11-07 19:29:00 1494

转载 Windows下程序向Linux下移植实践

一、问题的提出    在程序员中有这样一个说法,若一个程序不能移植到Linux下,那这个程序将看不到未来。由于Linux操作系统源码公开是的,开发库等辅助工具都是源码公开的,这样就减少了程序的不可预知性,而且出现错误可以大家一起修正、完善,而Windows平台下所有的操作系统Api就给了个接口,即使出现莫名奇妙的错误也只能望着接口兴叹了。再加上Linux操作系统本身和它上面的许多工具软

2008-11-07 11:01:00 3848

转载 Socket程序从Windows移植到Linux

socket相关程序从windows移植到linux下需要注意的 1)头文件 windows下winsock.h/winsock2.h linux下sys/socket.h 错误处理:errno.h 2)初始化 windows下需要用WSAStartup linux下不需要 3)关闭socket windows下closesocket(...) linux下

2008-11-07 10:53:00 793

转载 Select()系统调用及文件描述符集fd_set的应用

在网络程序中,一个进程同时处理多个文件描述符是很常见的情况。select()系统调用可以使进程检测同时等待的多个I/O设备,当没有设备准备好时,select()阻塞,其中任一设备准备好时,select()就返回。select()的调用形式为:#include #include int select(int maxfd, f

2008-11-07 09:40:00 757

转载 Sleep和WaitForSingleObject ,WaitForMultipleObjects

 VOID Sleep(DWORD dwMilliseconds); 该函数可使线程暂停自己的运行,直到dwMilliseconds过去为止。 关于Sleep函数,有下面几个重要问题值得注意: * 调用Sleep,可使线程自愿放弃它剩余的时间片。 * 系统将在大约的指定毫秒数内使线程不可调度。 * 你可以调用Sleep,并且为dwMilliseconds参数传递INFINITE。这将告诉系统永远不

2008-11-06 14:33:00 692

转载 windows进程间通信

  var $tag=; var $tag_code=990cad2eb1081e9384e6914c04fce99a;   分类:C++摘 要 随着人们对应用程序的要求越来越高,单进程应用在许多场合已不能满足人们的要求。编写多进程/多线程程序成为现代程序设计的一个重要特点

2008-11-04 11:41:00 644

转载 浅谈P2P终结者原理及其突破

 P2P终结者按正常来说是个很好的网管软件,但是好多人却拿它来,恶意的限制他人的流量,使他人不能正常上网,下面我们就他的功能以及原理还有突破方法做个详细的介绍!我们先来看看来自在网上PSP的资料:P2P终结者是由Net.Soft工作室开发的一套专门用来控制企业网络P2P下载流量的网络管理软件。软件 针对目前P2P软件过多占用带宽的问题,提供了一个非常简单的解决方案。软件基于底层协议分析处理

2008-11-03 16:25:00 2090 4

转载 boost::thread线程创建方式总结

最近在做一个消息中间件里面涉及到多线程编程,由于跨平台的原因我采用了boost线程库。在创建线程时遇到了几种线程创建方式现总结如下:    首先看看boost::thread的构造函数吧,boost::thread有两个构造函数: (1)thread():构造一个表示当前执行线程的线程对象; (2)explicit thread(const boost::function0& threadfunc

2008-11-03 10:52:00 14245 2

原创 FD_SET预定义宏

概述:在XFree86的实现中,为了屏蔽在不同的平台下对fd操作上的差异。通过条件编译的技术重新定义了一类对fd操作的宏。如下:FD_SET(n,p)   // 在fd_set中设置一个fdFD_CLR(n,p)   // 在fd_set中清楚对应的fdFD_ISSET(n,p)  // 判断fd是否在fd_set集合中FD_ZERO(p)   // 对fd_set置空XFD_ANYSET

2008-10-29 17:14:00 1150

转载 BT协议分析

一 BT系统的组成结构  1 普通的Web服务器:   例如Apache或IIS服务器2 一个静态的种子文件:   即.Torrent文件,采用Bencoding编码3  Tracker服务器:        追踪下载同一文件的用户4 终端用户的Web浏览器:用于下载种子文件5  BT客户端:            例如BitCommet,BitSpirit 二 种

2008-10-14 09:23:00 3821

转载 车票出售系统——多线程

#include using namespace std;DWORD WINAPI Fun1Proc(LPVOID lpParameter);//thread dataDWORD WINAPI Fun2Proc(LPVOID lpParameter);//thread dataint index=0;int tickets=10;HANDLE hMutex;void main(){    HAND

2008-10-07 21:40:00 660

空空如也

空空如也

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

TA关注的人

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