小左闲谈

【摘】PHP Socket编程 之使用fsockopen()函数

In 学习  @2017-11-07

Socket可以理解为两台计算机相互通信的通道。

用法:使用fsockopen()函数

具体用法详见上篇文章。函数的参数为URL、端口号、一个存放错误编号的变量、一个存放错误信息字符串的变量和超时等待时间。(只有第一个参数是必须的)

常见的端口:

21(FTP)
22(SSH)
23(Telnet)
25(SMTP)
80(Web)
110(POP)
3306(MySql)

其中,组成URl的几个部分为:协议名scheme,主机host,端口号port,文件路径path,查询参数query

当url是http://www.example.com/view.php?week=1#demo时:

Scheme:http
Host:www.example.com
Port:80
Path:View
Query:Week=1
Fragment:#demo

常见的HTTP状态码:

200:OK
204:NO Content
400:Bad Request
401:Unauthorized
403:Forbidden
404:Not Found
408:Time out
5**:Server error

示例

<?PHP  
       function check_url($url){  
              //解析url  
              $url_pieces = parse_url($url);  
              //设置正确的路径和端口号  
              $path =(isset($url_pieces['path']))?$url_pieces['path']:'/';  
              $port =(isset($url_pieces['port']))?$url_pieces['port']:'80';  
              //用fsockopen()尝试连接  
              if($fp =fsockopen($url_pieces['host'],$port,$errno,$errstr,30)){  
                     //建立成功后,向服务器写入数据  
                     $send = "HEAD $path HTTP/1.1\r\n";  
                     $send .= "HOST:$url_pieces['host']\r\n";  
                     $send .= "CONNECTION: CLOSE\r\n\r\n";  
                     fwrite($fp,$send);  
                     //检索HTTP状态码  
                     $data = fgets($fp,128);  
                     //关闭连接  
                     fclose($fp);  
                     //返回状态码和类信息  
                     list($response,$code) = explode(' ',$data);  
                     if(code == 200){  
                            return array($code,'good');  
                     }else{  
                            return array($code,'bad');//数组第二个元素作为css类名  
                     }  
              }else{  
                     //没有连接  
                     return array($errstr,'bad');  
              }  

       }  
       //创建URL列表  
       $urls = array(  
              'http://www.sdust.com',  
              'http://www.example.com'  
       )  
       //调整PHP脚本的时间限制:  
       set_time_limit(0);//无限长时间完成任务  
       //逐个验证url:  
       foreach($urls as $url){  
              list($code,$class) = check_url($url);  
              echo "<p><a href =\"$url\">$url</a>(<span class =\"$class\">$code</span>)</p>";  

       }  
?>

使用fsockopen()函数比fopen()函数的优点:
fopen()只会在PHP中已经将allow_url_fopen设置为真时才能使用,而fsockopen()并没有限制。

本文摘自:http://www.cnblogs.com/baocheng/p/5902560.html

标签: , ,   评论: 【摘】PHP Socket编程 之使用fsockopen()函数已关闭评论 

2017国庆骑行环海南岛记(1)

In 生活  @2017-10-23

最近公司里面不大太平,公司发展方向的大调整,人员结构的调整,作为网络部研发人员,其实对上层的决策的影响很有限,同事不少离职了,心情不是太美丽,9月中的某天,跟一同事聊天,说起十一的计划,我是打算去骑车,最好能去看看海,或者大湖啥的,这位小伙伴表示很惊讶,居然有人打算整个假期都在踩单车。

2017国庆环海南岛


当时也没想好去哪里的,只是想出去溜达溜达,于是想到早些时候看到过的环岛,时间好像刚好国庆假期差不多,然后第二天我就准备订机票了。

意外的是,这位小伙伴在我的怂恿下,居然大无畏的要和我一起去,毕竟他不是骑行爱好者,最多的时候应该也就是骑着OFO小环个东湖30多公里吧,要知道环岛的行程里面,如果不走运,一天要骑150km的,我把这些情况都告诉他了,还好,无知者无畏,于是就有了小伙伴了,两个人直接去跟领导请假(担心他会跟不上,请假为了把行程多预留两天),订机票了。

机票:9月29日晚上武汉-海口(海南航空),10月10日上午海口-武汉(南方航空)。

骑行的车子,在骑行驿站租就好了,按天计费,车子是2000左右配置油碟的山地车,环岛是没问题的,租车还有配套的驼包,补胎工具,头盔这些,很周到。

住的问题,就不用太在意了,就骑行驿站就好了,提前订好床位就行,沿路都是有的。

衣服,十一期间的海南,太阳还是相当火辣的,所以需要长袖的骑行服,头巾,手套,防晒霜,于是某宝购置这些必需品,值得注意的是防晒霜记得买小瓶的,超过100ml液体机场安检过不去。

然后就是一直有坚持跑步,一周大约三次,每次最少5km,心情好时间多的时候多跑点,保持耐力,我也敦促同去的小伙伴这段时间回家跑步,锻炼锻炼,体力太次路上很辛苦。

嗯,这样就算准备妥当了。

这个记录啊,边回忆边写完,这不算攻略,只是记录一下而已。至于为什么现在才发,我也很绝望啊,毕竟事情多,我会这周写完,一定做到。

标签: , ,   评论: 2017国庆骑行环海南岛记(1)已关闭评论 

为了吃鸡,入手技嘉Gigabyte GV-N1060WF2OC-6GD

In 生活  @2017-08-22

2015年攒的那台机器,在去年,我加了一块七彩虹GTX950的显卡,对于本也没有很多时间玩游戏的我来说,性能是绰绰有余的,奈何最近被安利吃鸡,我也装了Stream买了PUBG,上去杀几把,很是吃力啊,GTX950带这个游戏确实力不从心,本打算就放弃了这游戏,哪知同事还有同学几波人天天吃鸡,还总不忘记截图给我看,心里痒痒,就糊里糊涂剁手下单了一块GTX1060的卡,上周末一到货,迫不及待的装上了,甜甜圈测试啊,大师跑分啊,上游戏测试啊,各种折腾了一晚上,把忍了两年的CPU散热器方位不对的问题顺道一起解决了,结论是我还是对这种DIY相关的东西欲罢不能,为了改善散热。

说说之前那块卡七彩虹iGame950烈焰战神U-2GD5,当时天猫入手960块大洋,花呗分12期免手续费,性价比一般,我当时主要考虑自己是小机箱,散热不好,卡要短一点,功率小一点,性能可以就行,不用太在意,理论上这块卡完美符合要求,950的功率是很小的90W,相对发热量也会很小,事实上也确实如此,除了发热量比我想象中高以外,由于也没玩什么大型游戏(LOL不算大型游戏,毕竟用I5的集成显卡都跑得飞起),没感觉到什么不好,知道遇到了吃鸡这个游戏。

我换上的是技嘉Gigabyte GV-N1060WF2OC-6GD,这卡应该是比技嘉旗舰GTX1060-G1 Gaming-6G稍微次一点的,主要为了尺寸合适,那个卡长度278,我的小机箱装不下去,对比来看,频率低了50,双热管变成了单热管,少了两个DisplayPort接口,电源一个8pin一个6pin,G1版还多了RBG炫彩LED灯,差别就这些了,其实还是同一个东西吧。

甜甜圈测试15分钟,室温25度,机箱不开盖,最高温度81度,这个比较满意了,不得不说虽然是单热管,但是散热效果和静音同时做到很好,技嘉在散热上是完爆七彩虹的,技嘉的散热好像有黑科技加持,确实不错。

旧的七彩虹GTX950在闲鱼卖掉了,价格580顺丰包邮,虽然期间买家各种防备各种不信任搞得有点烦了,不过总算我还是忍了下来,出掉这个卡也算回血了。

20170822更新:
这个草稿存了半个月,离我换显卡有一个月了,在这一个月里,我其实都没有怎么玩游戏了,所以啊,这次教训就是,冲动消费有时候真的是可以避免的,如果我再忍几天就知道接下来的两个月我根本没时间打游戏了。

标签: , , , ,   评论: 7枚