读取文章
    既然我们已经得到了最后一篇文章的文章编号,读取最后的十篇文章就是很容易的事了。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/得到。 

使用sockets:从新闻组中获取文章(三)的更多相关文章

  1. 3Swift\OC\Java中字符串的比较

    判断字符串是否为同一对象用==if(!

  2. 对UIColor的扩展OC和Swift

    UIcolor这个类中,系统给的颜色太少了,虽然给我们提供了一个方法(光的三原色,根据红,绿,蓝光的比例调出很多颜色,RGB)colorWithRed:green:blue:alpha,但是用起来还是很麻烦,在这人给大家介绍一个简单的方法,就是自己对UIColor扩展,写一个方法先介绍一下要写什么样的方法:这个方法里我们需要传一个字符串(比如:@"00ff00"),就是一个颜色对应的RGB值,然后

  3. Swift与OC混合编译

    SWift调用OC新建swift文件此时系统自动生成-Bridging-Header.h文件并且TARGETS->BuildSettings->Objective-CBridgingHeader(搜索bridg)选项中会自动填入以上头文件的路径在-Bridging-Header.h中#import要调用的OC对象头文件OC调用Swift在OC文件中#import“

  4. OC To Swift And Swift To OC

    Swift工程混编OC代码:http://www.cocoachina.com/bbs/read.PHP?tid=204738OC工程混编Swift代码:http://my.oschina.net/u/1418722/blog/275363

  5. swift语言的学习笔记九(OC与Swift混编)

    swift语言出来后,可能新的项目直接使用swift来开发,但可能在过程中会遇到一些情况,某些已用OC写好的类或封装好的模块,不想再在swift中再写一次,哪就使用混编。这个在IOS8中是允许的。先中简单的入手,先研究在同一个工程目录下混合使用的情况。

  6. OC与Swift混合开发技巧

    在苹果推出了swift语言之后,很多人担心OC很快会被取代,但是苹果方面表示2年内不会摒弃OC。有的开发团队已经开始基于swift开发,但是有很多旧的框架还没来得及用swift写出来,并且某些swift的功能你还不会写,想用OC写。因此在swift开发的程序中时不时会用到OC的类,怎么让两门语言在一个程序里无缝衔接?

  7. Swift教程14-func函数,函数类型_对比Oc

    Swift的函数和函数类型是非常重要的内容.而且Swift中也把函数的形式和方法的形式,定义的完全一致;只不过,函数不是在类中.1.函数的定义func函数名(参数列表)[->返回值类型]{//函数体}解释:func是关键字,是必须写上的前缀,代表它是一个函数或方法;函数名:遵从标识符的规则形参列表,可以为空,也可以很多;例如str:String,a:Int,和声明变量的方法类似->后面跟的是返回值

  8. oc 和 swift 混编

    swift语言出来后,可能新的项目直接使用swift来开发,但可能在过程中会遇到一些情况,某些已用OC写好的类或封装好的模块,不想再在swift中再写一次,哪就使用混编。这个在IOS8中是允许的。先中简单的入手,先研究在同一个工程目录下混合使用的情况。

  9. Swift调用Objective C的FrameWork

    很多Github的库经过很多年的发展,源码都是OC写的,,所以,用Swift调用OC的库就是开发中难免遇到的的一个问题,本文以AFNetworking为例,讲解如何跨语言调用。第一步创建一个空的工程注意,语言选择Swift第二步,创建bridging-header这个文件的作用,就是把OC的接口暴露给Swift。

  10. Swift教程16-使用Swift调用AFNetworking进行网络请求

    如何使用Swift进行网络请求呢?

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部