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开发的要领之后,再回头看你写的那个留言本,你也许会怀疑那真的是你写的吗?当然,如果屋里还有鬼的话,也许是它写的-_- php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会) 基础有没有对学习php没有太大区别,关键是兴趣。 刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。 本文当是我的笔记啦,遇到的问题随时填充 你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。 微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。 没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。 先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。 这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。 环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。 作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。 本文当是我的笔记啦,遇到的问题随时填充 说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。 我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。 因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax 我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能: 基础有没有对学习php没有太大区别,关键是兴趣。
页:
[1]
2