归档 2009

最后更新于 .

由于之前一个server用到后台线程的功能,所以写了一个线程+队列的通用模型。(代码见文章底的附件)

应用场景:当处理的数据不影响回包,即可以在后台执行。

使用方式:一个(或多个)线程向队列中塞数据,一个(或多个)线程从队列里取数据并执行。

已实现功能:

    1.统计功能。支持添加数据次数,添加溢出次数,执行次数,出错次数。

    2.写错误流水功能。当添加溢出,或执行出错,会打印错误流水号码,入队列时间,等等,格式可以自己控制。

    3.支持继承。可以自由重载想要实现的功能。

 

使用示例:


#include "thread_base.h"
class CChildThread:public CThreadBase
{
    protected:
        virtual int Process(StructSyncData * oneData,void* args)
        {
            //printf("%lld\n",oneData->ID);
            return 0;
        }
        virtual ...

最后更新于 .

这是我们 在windows下搭建mysql,php,apache环境 系列的最后一章,即《在windows下搭建mysql,php,apache环境(4)-wordpress的部署》
(欢迎查看前三章::《在windows下搭建mysql,php,apache环境(1)-mysql的部署》 《在windows下搭建mysql,php,apache环境(2)-php的部署》《在windows下搭建mysql,php,apache环境(3)-apache的部署》)

其实在前三章里,我们已经成功的搭建了mysql+php+apache的环境了,之所以要讲一下wordpress的部署,只是为了真正测试一下这个环境的可用性,同时也给那些想要搭建wordpress的朋友一个例子。

四.wordpress部署
    (1)安装
    a)下载wordpress最新版本,并将文件copy到C:\Program Files\Apache Software Foundation\Apache2.2\htdocs下。
    b)在命令行,mysql -u root -p ...

最后更新于 .

现在我们进行 在windows下搭建mysql,php,apache环境 的第三篇,在windows下部署apache(前两篇如下:《在windows下搭建mysql,php,apache环境(1)-mysql的部署》 《在windows下搭建mysql,php,apache环境(2)-php的部署》),这一章担负着整合php+mysql+apache的重任,所以十分重要 三.apache     (1)安装         双击运行 Snap17         确认同意软件安装使用许可条例,选择“I accept the terms in the license agreement”,点“Next”继续 Snap18         设置系统信息,在Network Domain下填入您的域名(比如:vimer.cn),在Server Name下填入您的服务器名称(比如:www.dantezhu-pc.vimer.cn,也就是主机名加上域名),在Administrator's ...

最后更新于 .

承接上一篇文章 《在windows下搭建mysql,php,apache环境(1)-mysql的部署》,我们现在来部署php 二.php     (1)安装         a)最好下载压缩包而不是安装版,因为安装版会少很多dll         b)直接将下载好的php包copy到C:/根目录,更名为php,如我的目录就是C:/php/。     (2)配置         a)打开php目录,会发现两个文件,php.ini-recommended和php.ini-dist,区别如下:         php.ini-recommended的安全等级比php.ini-dist高。默认是把display_errors 设置为 off,将 magic_quotes_gpc 设置为Off等等。而相对的php.ini-dist都是默认的配置。 所以说,如果你只是想进行web测试和普通开发,使用php.ini-dist,不然就是用php.ini-recommended         在这里我们选择php.ini-dist,将其copy为php.ini.         b)打开编辑,找到一个

"register_globals = Off ...

最后更新于 .

之前有搭建过mysql+php+apache在windows下的环境,为了方便以后自己和大家查阅,所以,重新做了一遍。目标是保证wordpress可以在上面正常的运行起来,至于discuzz的话,可能还需要对php进行一些特殊的配置。 让我们按照mysql -> php -> apache的顺序来介绍吧,因为这样配置起来会更方便些。 其中版本号分别为:

mysql:Ver 14.12 Distrib 5.0.67, for Win32 (ia32) apache:Ver 2.2.14-win32-x86-no_ssl php:Ver 5.2.11-Win32 一、mysql     (1) 安装         双击运行 mysql1         选择 Custom 自定义安装,如下图所示: Snap2         把开发环境也装上,如下图所示: Snap4         待文件复制安装完毕后,进行 MySQL ...

最后更新于 .

在C/C++中,我们经常会需要实现类似printf这样的函数,即函数的参数个数是不定的,这个时候就需要用到我们这篇文章讲到的方法啦。 首先,我们要知道这种函数,如何来定义。比如我想实现一个函数能够支持 fun("%d",1); 那么这个函数的定义实际上如下:

void fun(const char *fmt, ...);

其中...的意思是说参数无法一一列出,所以用...代替,至于怎么解,我们稍后再说。 比较特殊的一点是,如果你希望将上面的函数定义成一个宏,那么这个宏可以这样写:

#define FUN(fmt, args...)    fun(fmt, ##args)

又假设你希望宏能够自动加上换行符,那么可以这样写:

#define FUN(fmt, args...)    fun(fmt"\n", ##args)

OK,那么函数定义的问题我们就解决啦,但是怎么来解呢? C里面提供了va_start,va_arg,va_end这样几个函数,解释如下: va_start使argp指向第一个可选参数。va_arg返回参数列表中的当前参数并使argp指向参数列表中的下一个参数。va_end把argp指针清为NULL ...

最后更新于 .

今天无意中发现这样一款插件,众所周知,js在正式上线的时候一般都会经过压缩来减少容量,而一旦你拿到的是这样一个经过压缩的js代码,估计看的头都大了,而这款插件,可以很简单的将js代码变得整齐而有序~ 首先,我们去下载这款插件。下载地址 然后放到plugin目录下。 这时打开一个js文件,我们就可以按下 <leader>ff,来查看效果啦,一般来说,如果没有重新设置过<leader>的话,就是\键。 截图如下: 转换前:

1

转换后:

2

当然,这个插件的官网上还提供了在线整理代码的功能,有兴趣的朋友可以去看一下: http://jsbeautifier.org/ OK,就到这里啦。 版权所有,转载请注明出处.http://www.vimer.cn

最后更新于 .

以下是我这几天一直在用的几个命令,先记下来,以后会整理一份mysql详细的使用文档 注:[]中代表名字,需要用库名或者表名替换 显示所有的库:

show databases;

进入某库:

use [dbname];

显示所有的表:

show tables;

显示某表的字段配置:

describe [tbname]; 或 show full fields from [tbname]; 创建库:

create database [dbname];

删除表:

drop database [dbname];

删除表:

drop table [tbname];

导入创建脚本:

mysql -u[user] -p [dbname] < [create.sql] (如果没有密码,则不需要-p)

显示每个表的数据存储量等状态:

show table status \G;

 就到这里。 转载请注明出处 ...

最后更新于 .

1、建立连接协议(三次握手)
(1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。
(2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。
(3) 客户必须再次回应服务段一个ACK报文,这是报文段3。
2、连接终止协议(四次握手)
   由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。
 (1) TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送(报文段4)。
 (2) 服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1(报文段5)。和SYN一样,一个FIN将占用一个序号。
 (3) 服务器关闭客户端的连接,发送一个FIN给客户端(报文段6)。
 (4) 客户段发回ACK报文确认,并将确认序号设置为收到序号加1(报文段7)。

3、状态解释
CLOSED: 这个没什么好说的了,表示初始状态。
LISTEN: 这个也是非常容易理解的一个状态,表示服务器端的某个SOCKET处于监听状态,可以接受连接了 ...

每月存档

明年

2010