本文实例讲述了php中fsockopen用法。分享给大家供大家参考。# E) ^; J* Z5 y" V% N/ l
具体实现方法如下:' f- z- I) W8 l; p% V3 x! K( l# S' T' x
复制代码 代码如下:$fp=fsockopen(127.0.0.1,80); //打开数据流
. [& @! X0 j! |9 S3 s# {5 cif(!$fp) //如果打开出错
5 n& p' l4 y7 p5 L{1 S3 d' |* V$ D1 M
echo unable to openn; //输出内容! k+ q3 }( p) O5 ]
}
( U3 l6 X) a3 s8 r) e$ K2 e. ]else //如果成功打开 K3 P/ b' g; x$ y1 {
{1 L# R% w! d* p; `+ \' R
fwrite($fp,get / http/1.0rnrn); //向数据流写入内容! R# `! U9 Q* }$ F& l
stream_set_timeout($fp,2); //进行超时设置
, V1 `& ?* O* A/ T9 S2 Z' ?$res=fread($fp,2000); //读取内容
3 |2 D8 F% Q. C1 ?$info=stream_get_meta_data($fp); //获取数据流报头
. Z6 K7 A% G2 E: L$ D6 T2 z- E7 {) Qfclose($fp); //关闭数据流
: l3 P( d8 A" m' {! @if($info['timed_out']) //如果超时! t! {( C, u9 O. n% l
{" [5 O! E4 o r; z" v
echo 'connection timed out!'; //输出内容" M, s: c$ o# b' }
}
$ {" H$ I( E) X+ K$ Oelse: a# @# i; R; t- |* Y0 w _
{1 r% f a/ O# K' \1 b% s
echo $res; //输出读取内容6 g9 f& A) k8 w" U" L
}; s: q1 Z- B7 [+ t7 \4 `# h3 x
}
( o* O# Q- z" |//实例二
5 i, {0 P. v. G" d7 G5 n9 T//创建服务端: |5 @" t; `( a) }& V
$socket=stream_socket_server(tcp://0.0.0.0:8000,$errno,$errstr);6 I: H5 u' [- K6 {- i) L' v6 _
//如果创建失败
( x9 w- b( m4 [* I E/ {if(!$socket)' V1 z0 ^2 v4 N) l
{
7 Z2 t: |2 T, [& N& ?3 x7 Techo $errstr ($errno)<br />n;3 n: ^$ A. j# u0 c8 [; O' l
}# t! f# X4 M: \, l
//如果创建成功
( C/ z5 e+ v* R6 `else
4 r, N; l! I9 w8 v, Q{; g w3 p+ [9 @# l
//接受连接1 _& z# T1 [# ^8 v, d
while($conn=stream_socket_accept($socket))
% P* S8 j& E/ n$ x* y% m{
* p+ y ]- o. N1 G9 k//写入数据% K/ Q+ m! S; }% B' d
fwrite($conn,'the local time is '.date('n/j/y g:i a').n);- E3 M0 j- R) q& h: @$ b
//关闭连接& t6 a1 {( f( i5 }
fclose($conn);# [0 e' H. [& P( R- W8 v3 Q7 P
}! M( f& q: g; ]- i4 g0 j
//关闭socket E# ^% T7 e. \9 f
fclose($socket);
8 G5 I& [$ b9 p" o, H, V}
/ A4 g& Q# m% W* ], @//" g: c4 I* |: o k/ @; G
$file=test.txt; //定义文件" L( P" T. C4 m, V. o4 M" s- o
$fp=fopen($file,w); //打开数据流
8 H, C, o7 s* ]: n: l/ Cif($fp) //如果成功打开7 H6 @$ }5 w1 u P: I% C4 b9 I
{. u( i- \8 N+ x4 U/ E
stream_set_write_buffer($fp,0); //设置缓冲区
7 V+ A0 Y3 N8 c% qfwrite($fp,$output); //写入内容
) v& _. G, a/ S- n' D3 f! Cfclose($fp); //关闭数据流
* Y, z9 D) F' K0 j/ J6 \4 D}
, Z. C1 v% O, I4 u/ d% w+ M$ D希望本文所述对大家的php程序设计有所帮助。
0 `" U' X+ O. C3 u1 b# Z9 ~' r. M% q
更多网页制作信息请查看: 网页制作 |