仓酷云

标题: PHP网站制作之利用sockets:重新闻组中获得文章(一)... [打印本页]

作者: 再见西城    时间: 2015-2-4 00:06
标题: PHP网站制作之利用sockets:重新闻组中获得文章(一)...
当然你可以把你最基本的功能放出来的时候就放出来,比如放到论坛上,让大家都参与,   By Armel Fauveau  一木 译
    PHP能翻开近程或当地主机上的Socket端口。本文是一个利用Socket的小例子:毗连到一个Usenet旧事组办事器,同办事器对话,重新闻组中下载一些文章。
     
在php中翻开一个socket
    利用fsockopen()翻开一个socket.这个函数在php3和php4种都可使用。函数声明是如许的:
    int fsockopen (string hostname, int port [, int errno [, string errstr [, double timeout]]])
    这个函数将翻开一个毗连到主机hostname的port端口的TCP毗连。hostname可所以一个无效的域名,或是一个ip地址。关于udp毗连,你必需指定协定:udp://hostname. 关于unix域,主机名利用到socket的途径,这类情形下,端口port必需置为0。可选的timeout参数用来设定守候翻开一个socket的工夫,单元为秒。
    关于fsockopen()的更多信息,请参考:http://www.php.net/manual/function.fsockopen.php

收集旧事传输协定
    会见旧事组办事器需求经由过程称为NNTP(收集旧事传输协定)的协定来停止。这个协定在rfc977中有具体的细节,可以在http://www.w3.org/Protocols/rfc977/rfc977.html失掉。这个文档分离描写了如何毗连到NNTP办事器,如何同办事器对话,和完成这些义务的分歧号令。

毗连
    毗连到一个NNTP办事器需求晓得它的主机名(或是ip地址)和它侦听的端口。为了不一个毗连妄图掉败招致法式挂起,你应当利用timeout参数。
    <?php
      $cfgServer   = "your.news.host";
      $cfgPort     = 119;
      $cfgTimeOut  = 10;

      //open a socket
      if(!$cfgTimeOut)
         // without timeout
         $usenet_handle = fsockopen($cfgServer, $cfgPort);
      else
         // with timeout
         $usenet_handle = fsockopen($cfgServer, $cfgPort, &$errno, &$errstr, $cfgTimeOut);

      if(!$usenet_handle) {
          echo "Connection failed.\n";
          exit();
      }
      else {
          echo "Connected.\n";
          $tmp = fgets($usenet_handle, 1024);
      }

?> 熟悉了PHP和MYSQL开发的要领之后,再回头看你写的那个留言本,你也许会怀疑那真的是你写的吗?当然,如果屋里还有鬼的话,也许是它写的-_-
作者: 因胸联盟    时间: 2015-2-4 06:15
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
作者: 小妖女    时间: 2015-2-6 20:36
基础有没有对学习php没有太大区别,关键是兴趣。
作者: 仓酷云    时间: 2015-2-18 15:29
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
作者: 飘灵儿    时间: 2015-2-28 02:39
本文当是我的笔记啦,遇到的问题随时填充
作者: 只想知道    时间: 2015-3-1 21:06
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者: 老尸    时间: 2015-3-6 10:14
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 愤怒的大鸟    时间: 2015-3-11 04:46
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者: 分手快乐    时间: 2015-3-17 20:50
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
作者: 活着的死人    时间: 2015-3-18 07:17
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
作者: 再现理想    时间: 2015-3-25 04:17
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
作者: 第二个灵魂    时间: 2015-3-27 13:09
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
作者: 乐观    时间: 2015-4-1 07:10
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
作者: 精灵巫婆    时间: 2015-4-4 23:20
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
作者: 柔情似水    时间: 2015-4-10 12:15
本文当是我的笔记啦,遇到的问题随时填充
作者: 爱飞    时间: 2015-4-26 22:23
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
作者: 小魔女    时间: 2015-6-6 01:44
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
作者: 不帅    时间: 2015-6-12 19:16
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
作者: 变相怪杰    时间: 2015-6-20 15:09
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
作者: admin    时间: 2015-6-20 21:26
基础有没有对学习php没有太大区别,关键是兴趣。
作者: 灵魂腐蚀    时间: 2015-6-26 13:30
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2