既然我們已經得到了最后一篇文章的文章編號,讀取最后的十篇文章就是很容易的事了。RFC977中說,ARTICLE命令既可以使用文章編號,也可以使用它的消息ID.
這里要注意,文章編號跟它的消息ID是不同的,因為每 " /> 综合视频一区,成人免费视频a,成人看的羞羞网站

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

使用sockets:從新聞組中獲取文章(三)

讀取文章
    既然我們已經得到了最后一篇文章的文章編號,讀取最后的十篇文章就是很容易的事了。RFC977中說,ARTICLE命令既可以使用文章編號,也可以使用它的消息ID.
    這里要注意,文章編號跟它的消息ID是不同的,因為每個新聞服務器分配自己的文章編號,所以同一篇文章在兩個不同的服務器上的編號是不一樣的,而文章的消息ID,是包括在文章的頭信息里,并且是唯一的。

   <?php
     $cfgLimit =10;

     //upload last articles

     $boucle = $last-$cfgLimit;

     while ($boucle<=$last) {
       set_time_limit(0);
       fputs($useNET_handle, "ARTICLE $bouclen");

       $article="";
       $tmp=fgets($useNET_handle, 4069);
       if(substr($tmp,0,3) != "220") {
           echo "+----------------------+n";
           echo "Error on article $bouclen";
           echo "+----------------------+n";
       }
       else {
           while($tmp!=".rn") {
              $tmp = fgets($useNET_handle, 4096);
              $article .=$tmp;
           }

           echo "+----------------------+n";
           echo "Article $bouclen";
           echo "+----------------------+n";
           echo "$articlen";
       }

       $boucle++;
  }

  ?>

    我們從服務器的這個新聞組中讀取了最后的十篇文章,。也可以通過使用HEAD命令讀取文章的頭信息,或者使用BODY命令讀取文章內容。

關閉連接
    最后,通過調用fclose()函數關閉socket,結束同NNTP服務器的對話。

    <?php
      //close connection
      fclose($useNET_handle);
    ?>
    關于fclose()的更多信息,請參考 http://www.php.NET/manual/function.fclose.php

結論
    在上文中,我們看到了怎樣打開、使用然后關閉一個socket:連接到一個NNTP服務器,取回一些文章。使用POST命令發表文章也復雜不到哪兒去。
    下一步就是編寫一個基于WEB的新聞組客戶端了。
    存儲這些文章,用某個搜索引擎(比如說http://www.htdig.org)對文章進行索引也是非常容易的。這樣,你有了一個基于web的搜索新聞組的程序了。
    這樣的程序的一個例子可以在http://www.phpindex.com/ng/得到。 

php技術使用sockets:從新聞組中獲取文章(三),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 台中市| 资源县| 香格里拉县| 容城县| 泰兴市| 北京市| 岚皋县| 镇巴县| 荆州市| 广水市| 呼图壁县| 博白县| 永定县| 安龙县| 新民市| 会宁县| 平凉市| 甘洛县| 抚宁县| 广德县| 西青区| 隆尧县| 肇东市| 北票市| 固始县| 恩施市| 巴中市| 遂昌县| 绩溪县| 卫辉市| 孝义市| 镇雄县| 老河口市| 天气| 金塔县| 房产| 灌阳县| 通江县| 聂拉木县| 萍乡市| 定襄县|