博客首页
  • 用户名
  • 密码
  • 验证码
  • 网校首页
  • 博客首页
  • 论坛首页
个人资料
_lzt_ 性别:男    所在地:北京市
2011年09月22日 11:58

http://www.wangchao.net.cn/bbsdetail_553943.html
1.网页不允许脱机浏览
<META HTTP-EQUIV=”Pragma” CONTENT=”no-cache”>
2.文字不允许被打印
<style>
@media print {
.notptn {display:none;}
}
</style>
<div class=”notptn”>我不会被打印出来</div>
3.网页内文字不允许被选种,既不能被CTRL+A,也不能被复制被粘贴。
<body o

日志分类:js  阅读(136) | 评论(0) | 打印

2011年09月05日 09:49

http://blog.csdn.net/ishow99/article/details/4439169
FTP协议详解可以参考这里:http://blog.csdn.net/yxyhack/archive/2007/10/15/1826256.aspx,已经写得比较详细了;   以下是代码:   1、ffcs_ftp_client.h
view plain

#ifndef    FTP_CLIENT_ACE_H  
#define    FTP_CLIENT_ACE_H  
  
#include   
  
#include   
#include << response << std::endl;  
    return true;  
}  
  
/*发送FTP命令*/  
bool FTPClient::Send(const std::string &command)  
{  
    std::cout << command;  
    if (static_cast<< "USER " << this-><< "/r/n";  
    if (this-><< "PASS " << this-><< "/r/n";  
    if (this-><< "QUIT" << "/r/n";  
    if (this-><< "SYST" << "/r/n";  
    if (this-><< "NOOP" << "/r/n";  
    if (this->< 0 ? false : true;  
}  
  
/*修改远程路径,影响下载的远程文件所在路径 或者 上传的文件所保存的路径*/  
bool FTPClient::ChangeRemoteDir(const std::string &dirname)  
{  
    std::stringstream CWD, PWD;  
    std::string  ftp_resp;  
  
    CWD << "CWD " << dirname << "/r/n";  
    if (this-><< "PWD" << "/r/n";  
    if (this->< 0) return false; /*文件不存在*/  
  
    /*修改类型*/  
    TYPE << "TYPE I" << "/r/n";  
    if (this-><< "PASV" << "/r/n";  
    if (this-><< d0 << "." << d1 << "." << d2 << "." << d3;  
    ftp_data_addr.set((p0 << 8) + p1, ip.str().c_str());  
  
    if (connector.connect(stream, ftp_data_addr, &tv) == -1)  
    {  
        ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("(%P|%t) %p/n"), ACE_TEXT("connection failed")), false);  
    }  
  
    ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%P|%t) connected to (%s:%d)/n/n"), this-><< "STOR " << filename << "/r/n";  
    if (this->< file_info.size_) && ((file_size=file_put.recv(file_cache, sizeof(file_cache))) ><< "Send " << filename << "(" << file_info.size_ << ") fail! Only sent (" << all_size <<")" << std::endl;  
        return false;  
    }  
  
    std::cout << "Send " << filename << "(" << all_size << ") OK!" << std::endl << std::endl;  
    return true;  
}  
  
/*下载文件*/  
bool FTPClient::GetFile(const std::string &filename)  
{  
    std::stringstream PASV, RETR;  
    std::string  ftp_resp;  
  
    ACE_Time_Value  tv(MAX_CONN_TIMEOUT_SECOND, MAX_CONN_TIMEOUT_MILLISECOND);  
  
    int d0, d1, d2, d3, p0, p1;  
    std::stringstream ip;  
    ACE_INET_Addr ftp_data_addr;  
  
    ACE_SOCK_Stream     stream;  
    ACE_SOCK_Connector  connector;  
  
    ACE_FILE_IO file_put;  
    ACE_FILE_Connector file_con;  
    char file_cache[MAX_BUFSIZE];  
    int file_size, all_size;  
  
    PASV << "PASV" << "/r/n";  
    if (this-><< d0 << "." << d1 << "." << d2 << "." << d3;  
    ftp_data_addr.set((p0 << 8) + p1, ip.str().c_str());  
  
    if (connector.connect(stream, ftp_data_addr, &tv) == -1)  
    {  
        ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("(%P|%t) %p/n"), ACE_TEXT("connection failed")), false);  
    }  
  
    ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%P|%t) connected to (%s:%d)/n/n"), this-><< "RETR " << filename << "/r/n";  
    if (this-><< "Recv " << filename << "(" << all_size << ") OK!" << std::endl << std::endl;  
    return true;  
}  
  
/*名字列表*/  
bool FTPClient::NList(std::string &pathlist, const std::string &pathname)  
{  
    std::stringstream PASV, NLST;  
    std::string  ftp_resp;  
  
    ACE_Time_Value  tv(MAX_CONN_TIMEOUT_SECOND, MAX_CONN_TIMEOUT_MILLISECOND);  
  
    int d0, d1, d2, d3, p0, p1;  
    std::stringstream ip;  
    ACE_INET_Addr ftp_data_addr;  
  
    ACE_SOCK_Stream     stream;  
    ACE_SOCK_Connector  connector;  
  
    char file_cache[MAX_BUFSIZE] = {0};  
    int file_size;  
  
    PASV << "PASV" << "/r/n";  
    if (this-><< d0 << "." << d1 << "." << d2 << "." << d3;  
    ftp_data_addr.set((p0 << 8) + p1, ip.str().c_str());  
  
    if (connector.connect(stream, ftp_data_addr, &tv) == -1)  
    {  
        ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("(%P|%t) %p/n"), ACE_TEXT("connection failed")), false);  
    }  
  
    ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%P|%t) connected to (%s:%d)/n/n"), this-><< "NLST" << "/r/n";  
    }  
    else  
    {  
        NLST << "NLST " << pathname << "/r/n";  
    }  
    if (this-><< "PASV" << "/r/n";  
    if (this-><< d0 << "." << d1 << "." << d2 << "." << d3;  
    ftp_data_addr.set((p0 << 8) + p1, ip.str().c_str());  
  
    if (connector.connect(stream, ftp_data_addr, &tv) == -1)  
    {  
        ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("(%P|%t) %p/n"), ACE_TEXT("connection failed")), false);  
    }  
  
    ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%P|%t) connected to (%s:%d)/n/n"), this-><< "LIST " << pathname << "/r/n";  
    if (this-><< "RNFR " << srcname << "/r/n";  
    if (this-><< "RNTO " << dstname << "/r/n";  
    if (this->

日志分类:ace  阅读(141) | 评论(0) | 打印

2011年08月31日 16:05

http://socol.iteye.com/blog/695872
定位free/malloc的位置和参数,可以在对应的.cpp/.h文件中添加:
 

C代码  收藏代码

#include <stdio.h>  
#include <stdlib.h>  
  
  
  
void *  
debug_malloc(size_t size, const char *file, int line, const char *func)  

日志分类:c  阅读(232) | 评论(0) | 打印

2011年08月05日 14:50

在电脑的专用术语中,虚拟地址(Virtual Address)标识一个非物理的实体地址。这个术语常用在虚拟内存和虚拟网络地址当中。  由于Windows程序时运行在386保护模式下,这样程序访问存储器所使用的逻辑地址称为虚拟地址,与实地址模式下的分段地址类似,虚拟地址也可以写为“段:偏移量”的形式,这里的段是指段选择器。  Windows 2000 使用基于分页机制的虚拟内存。每个进程有4GB的虚拟地址空间。基于分页机制,这4GB地址空间的一些部分被映射了物理内存,一些部分映射硬盘上的交换文件,一些部分什么也没有映射。程序中使用的都是4GB地址空间中的虚拟地址。而访问物理内存,需要

日志分类:系统  阅读(148) | 评论(0) | 打印

2011年07月11日 18:59

你我曾经深爱过的某人,无非也就是芸芸众生中的一个,只是爱由心生,自以为他/她会是今生最爱,当你感觉你爱他,你用心去爱就觉的他/她最珍贵,当万物归原,生命仍然继续,他/她无非也就是我们生命中的一个过客。 我们根本无法确定哪一个才是今生最爱,如果不懂得去珍惜,你身边这个爱你的/你爱的人,在某一天,也会成为你身边的过客。 找一个你爱的人不容易,找一个爱你的人也不容易。如果无法确定哪一个才是你最爱的人,何不在自己成为别人的爱人的时候珍惜这份感情?爱由心生,你告诉自己是爱他/她的,自然就可以爱

日志分类:默认分类  阅读(317) | 评论(1) | 打印

2011年07月07日 15:22

#include #include #include //gcc -o p p.c -lpthreadvoid *thr_fn1(void *arg){    printf(”thread 1 returningn”);    return((void *)221);}void *thr_fn2(void *arg){    printf(”thread 2 exitingn”);    pthread_exit((void *)112);}int main(void){    int         err;    pthread_t   tid1, tid2; 

日志分类:c  阅读(269) | 评论(0) | 打印

2011年07月07日 13:53

#include #include #include using namespace std;#define HTTP_RESULT_LEN 10240static size_t get_ret( char *ptr, size_t size, size_t nmemb, void *stream){        int iLen = size*nmemb;        iLen = iLen > (HTTP_RESULT_LEN-1)?(HTTP_RESULT_LEN-1):iLen;        strncpy((char*)stream, (char*)ptr, iLen);        ((char*)stream)[iLen] = 0;        return 0;}int main(){        string data = “aa=bb&cc=dd”;        string URL = “http://lzt.operation.chinapen.com/test.php”;        char buffer[HTTP_RESULT_LEN] = {0};        CURL *curl = curl_easy_init();        if (curl)        {                curl_easy_setopt(curl, CURLOPT_URL,URL.c_str());                curl_easy_setopt(curl, CURLOPT_POST, 1);                curl_easy_setopt(curl, CURLOPT_POSTFIELDS,data.c_str());                curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE,data.length());                curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION,get_ret);                curl_easy_setopt(curl, CURLOPT_WRITEDATA,buffer);                curl_easy_setopt(curl, CURLOPT_TIMEOUT, 10);                curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 10);                curl_easy_perform(curl);                CURLcode retcode;                int code = curl_easy_getinfo(curl,CURLINFO_RESPONSE_CODE,&retcode);                if (200 != retcode || code!= CURLE_OK)                {                        cout<<”failed”<

日志分类:c  阅读(399) | 评论(2) | 打印

2011年07月07日 12:45

日志分类:默认分类  阅读(221) | 评论(0) | 打印

2011年07月06日 10:33

谁来忘记,谁来感激,谁来相视一笑便转过身去,谁来把名字留下而后再见无期……

日志分类:默认分类  阅读(272) | 评论(0) | 打印

2011年06月29日 15:30

一个太注重缘分的人,不能指望其能有多高的审美眼光!

日志分类:默认分类  阅读(711) | 评论(0) | 打印