本文实例讲述了php中fsockopen用法。分享给大家供大家参考。+ B; F5 f2 s9 y7 l* g) t+ G
具体实现方法如下:& F) ^0 d% G' G& w
复制代码 代码如下:$fp=fsockopen(127.0.0.1,80); //打开数据流
+ Z% x% j, [, ~: B# k. Qif(!$fp) //如果打开出错
O- u7 E( s; q{
6 A; }3 w h7 @( [ F" i: zecho unable to openn; //输出内容
: E0 x3 r& Z2 a6 [$ I}" f9 i2 q' R! ?0 \
else //如果成功打开& ~8 Z( u. W2 R
{3 K- v5 |/ B) p0 N( v, }* e
fwrite($fp,get / http/1.0rnrn); //向数据流写入内容
. ]/ Q. a h9 _1 C/ `$ _stream_set_timeout($fp,2); //进行超时设置
+ h7 e8 d% H% C. Y$res=fread($fp,2000); //读取内容
$ }) G& @" z9 g4 N$info=stream_get_meta_data($fp); //获取数据流报头2 N$ n# M# k$ j7 X2 I6 L; s/ A
fclose($fp); //关闭数据流' G1 U, ]! S w
if($info['timed_out']) //如果超时
$ z, x# F& B2 Z8 \/ U' b4 c5 E0 `{
# C0 }% J( T2 ]; p" J gecho 'connection timed out!'; //输出内容
& E7 I4 }" l3 c& N5 m9 A: u$ m}
1 X4 v: a9 |) d: [* Lelse4 M B1 a$ D( e, @$ Z/ V* M$ u# o; O1 d
{
0 Y& y9 x5 K5 yecho $res; //输出读取内容! X. f9 p& R: X( s( H3 {8 @0 Y& ^
}; e- M" [5 B6 _3 o, t* r& r
}& Y- [+ x) e" T7 W, N
//实例二& ~: G! b1 a% V; P# K) X* a4 P
//创建服务端; x1 A% [1 F) |+ V' N
$socket=stream_socket_server(tcp://0.0.0.0:8000,$errno,$errstr);
( |6 d2 x7 R; T$ ^. g//如果创建失败% v' y. M v' c# a `
if(!$socket)
4 N# P5 q3 \% `8 `{ F0 U( e" N* j- R# J
echo $errstr ($errno)<br />n;
( i4 g, e+ a+ M}
0 E1 q" t2 ]: C+ U+ T3 ]; L//如果创建成功
) \; B/ U+ A9 u8 `else
- G' y" [( V+ }' ^{
" E( y% o# x- x$ Q7 l$ p//接受连接
" i) r( k9 [/ R$ {" M2 [while($conn=stream_socket_accept($socket)), l9 R( K* a! ]6 F- U
{
8 J. S% t f- o) J: n6 D//写入数据# @+ I/ l/ q$ ~
fwrite($conn,'the local time is '.date('n/j/y g:i a').n);
8 Q+ h* i& c; c( `) V, w4 v' d. u* b//关闭连接
, @' m! h6 D4 M# u) ^fclose($conn);
3 E9 ^1 o! j7 [" K' d# P2 X. T- c- s}+ |4 Z R x2 H" J9 ?
//关闭socket
" y! C5 Z1 z2 c5 i1 Xfclose($socket);
; D/ W; E- T" j}
7 S$ D9 m% X7 n& r: e+ i! r8 T//5 [5 s& f! e4 ], P
$file=test.txt; //定义文件2 z7 x% {1 p( R$ F# V1 s* {
$fp=fopen($file,w); //打开数据流7 Z8 m; n1 ]& }2 I
if($fp) //如果成功打开( j# F: N" E% ]+ T5 D/ `0 {
{
% s1 V# k3 G- C) tstream_set_write_buffer($fp,0); //设置缓冲区
: O7 u8 G9 u0 w' Ifwrite($fp,$output); //写入内容
/ G4 w, \ t( Bfclose($fp); //关闭数据流
; c) d( Z' F0 ?4 Y J" q}! p6 B2 ~' L9 ~% c5 A% ], J
希望本文所述对大家的php程序设计有所帮助。
' [ @* t' |3 p3 n' p
" }% R9 T( x; z更多网页制作信息请查看: 网页制作 |