⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bcjq019.txt

📁 c++ builder 的一些txt文档
💻 TXT
📖 第 1 页 / 共 2 页
字号:

C++ Builder开发者:程序员之家
var how_many_ads = 3;
var now = new Date()
var sec = now.getSeconds()
var ad = sec % how_many_ads;
ad +=1;
 
  
  
    
      
        
          
            首页   
              | 控件天堂 | 控件使用                 
              | 编程技巧                  
              |  源代码 |  编程工具 |      
               系统补丁 |  电子书籍 | 技术论坛                  
              |  相关链接               
                         
                       
                     
                   
                   
                     
                       
                         
                           
                         
               
       if (ad==1) {document.write(''+'');}             
       if (ad==2) {document.write(''+'');}             
       if (ad==3) {document.write(''+'');}             
                            
                         
                      
                                  
                      
                    
                  
                
                
                  
                    
                      
                        
                     
                   
var marqueecontents=''+scroll_text+''         
if (document.all)         
document.write(''+marqueecontents+'')         
function regenerate(){         
window.location.reload()         
}         
function regenerate2(){         
if (document.layers){         
setTimeout("window.onresize=regenerate",450)         
intializemarquee()         
}         
}         
function intializemarquee(){         
document.cmarquee01.document.cmarquee02.document.write(marqueecontents)         
document.cmarquee01.document.cmarquee02.document.close()         
thelength=document.cmarquee01.document.cmarquee02.document.height         
scrollit()         
}         
function scrollit(){         
if (document.cmarquee01.document.cmarquee02.top>=thelength*(-1)){         
document.cmarquee01.document.cmarquee02.top-=speed         
setTimeout("scrollit()",100)         
}         
else{         
document.cmarquee01.document.cmarquee02.top=marqueeheight         
scrollit()         
}         
}         
window.onload=regenerate2         
                     
                       
                     
                   
                 
               
               
                 
                   
                     
                       
                         
                           
                             
                  当前位置
  
  
                    编程技巧          
                          
                        
                      
                      
                      
                        
                          
                            
                    信箱监视程序       
                         
                   
                     
                       
                         
                          ----本     
            文 将 向 大 家 介 绍 怎 样 编 写 自 己 的 信 箱 监     
            视 程 序, 程 序 将 直 接 调 用WinSock 函 数 来 进     
            行 网 络 通 信。 除 了 具 备WinSock 编 程 知 识 之     
            外, 还 必 须 了 解POP3 协 议。 下 面 是 对POP3 的     
            一 个 粗 略 的 介 绍, 读 者 可 以 参 看RFC 1225 更     
            为 详 细 地 了 解 该 协 议。
    
            
    
            一、 关 于POP3 协 议
    
            ----POP3 服 务 器 程 序 通 常 在TCP 端 口110 提 供 服     
            务。 当 客 户 想 要 使 用 服 务 时, 它 便 与 服     
            务 器 建 立 一 个TCP 连 接。 一 旦 连 接 建 立,POP3     
            服 务 器 就 向 客 户 发 送 一 条 欢 迎 消 息。 然     
            后 客 户 开 始 给 服 务 器 发 送 命 令, 服 务 器     
            则 给 出 相 应 的 回 答。POP3 的 命 令 由 一 个 关     
            键 词 或 者 关 键 词 加 参 数 组 成。 每 个 命 令     
            以 回 车 换 行(0xD0xA) 作 为 结 束 标 志。 对 于     
            所 有 的 命 令,POP3 服 务 器 都 会 提 供 一 个 回     
            答。 服 务 器 的 回 答 由 一 个 状 态 标 志 加 一     
            些 附 加 信 息 组 成。 目 前 使 用 的 两 个 标 志     
            是“ +OK” 和“ -ERR”, 分 别 表 示 客 户 的 命     
            令 是 否 合 法。 所 有 的 回 答 也 是 以 回 车 换     
            行 结 束。
    
            ----与 本 文 讨 论 的 话 题 相 关 的 四 个POP3 命 令     
            是USER、PASS、LIST 和QUIT。
    
            
    
            USER 命 令
    
            格 式USER name
    
            
    
            ----其 中name 是 用 户 在 该POP3 服 务 器 上 的 用 户     
            标 识。 客 户 应 该 在 接 到 服 务 器 的 欢 迎 消     
            息 后 或 者 在 上 一 个 USER 或 者PASS 失 败 之 后 可     
            以 发 送 此 命 令。
    
            
    
            PASS 命 令
    
            格 式PASS string
    
            
    
            ----其 中string 为 该 用 户 的 密 码。 客 户 在 发 送     
            了USER 命 令 并 且 收 到 了 +OK 的 回 答 之 后 方     
            可 发 送 此 命 令。 如 果 用 户 名 和 密 码 都 正     
            确, 服 务 器 回 答 +OK, 否 则 -ERR。
    
            
    
            LIST 命 令
    
            格 式LIST
    
            
    
            ----如 果 该 用 户 有 邮 件, 则LIST 命 令 会 回 答     
            +OK, 并 列 出 所 有 邮 件 的 标 识 符 和 大 小(     
            每 个 邮 件 一 行), 最 后 一 个 仅 包 含 一 个     
            句 点 的 行(0xD0xA0x2E) 表 示 整 个 回 答 的 结     
            束。 如 果 该 用 户 没 有 邮 件, 有 些 服 务 器     
            会 返 回 -ERR, 有 些 在 可 能 返 回 一 个 +OK 和     
            一 个 仅 包 含 一 个 句 点 的 行。 当 然, 客 户     
            必 须 在PASS 命 令 通 过 之 后 客 户 程 序 才 能 给     
            服 务 器 发 送LIST 命 令。
    
            
    
            QUIT 命 令
    
            
    
            ----从POP3 服 务 器 上 退 出 登 录。
    
            
    
            二、 实 现 相 关 函 数
    
            ----接 下 来 我 们 按 照POP3 协 议 所 定 义 的 通 信     
            规 则 来 实 现 一 个 名 叫POP3CheckMail 的 函 数, 只     
            要 调 用 此 函 数, 我 们 就 可 以 检 测 信 箱     
            了。
    
            ----下 面 的 代 码 是 用 与Delphi 4 兼 容 的Pascal 语     
            言 实 现 的, 我 们 必 须 包 含WinSock 单 元, 并 且     
            在 调 用 下 列 函 数 之 前 初 始 化 好WinSock 动 态     
            连 接 库。 初 始 化WinSock 动 态 连 接 库 的 代 码     
            如 下:
    
            
    
            ----if WSAStartup( $002, wsadata)<>0 then Halt;
    
            
    
            ----POP3CheckMail 的 原 型 如 下:
    
            
    
            ----function POP3CheckMail(Email,Password:String;var     
            MailList:TStringList;var ErrorMsg:String):Bool;
    
            
    
            ----参 数 说 明:
    
            
    
            ----Email 和Password 分 别 为 用 户 的email 信 箱 名 和     
            口 令。
    
            
    
            ----变 量 参 数MailList 用 于 返 回 邮 件 的 标 识 和     
            大 小,MailList.Count 表 示 邮 件 的 封 数。
    
            
    
            ----变 量 参 数ErrorMsg 返 回 出 错 消 息。
    
            
    
            ----以 下 是POP3CheckMail 及 其 它 所 用 到 的 函 数 的     
            实 现 代 码。
    
            
    
            Connect_Server 函 数
    
            
    
            ----功 能: 与 指 定 的 主 机 建 立 一 个TCP 连 接,     
            返 回 一 个Socket 描 述 符。 参 数host 指 定 主 机 的     
            名 字,Port 指 定 端 口 号。
    
            
    
            function Connect_Server(host:string;Port:integer):integer;
    
            var i:integer;
    
            p:^LongInt;
    
            phe:pHostEnt;
    
            sin:sockaddr_in;
    
            begin
    
            sin.sin_family:=AF_INET;
    
            sin.sin_port:=htons(Port);
    
            //Get the IP for host, allowing for dotted decimal
    
            phe:=gethostbyname(pchar(host));
    
            if phe<>nil
    
            then begin
    
            p:=Pointer(phe^.h_addr_list^);
    
            sin.sin_addr.s_addr:=p^;
    
            end
    
            else begin
    
            i:=inet_addr(PChar(Host));
    
            if i<> -1 then sin.sin_addr.S_addr:=i

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -