本文实例讲述了PHP基于socket实现的简单客户端和服务端通讯功能。分享给大家供大家参考,具体如下:
服务器端:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
<?php
set_time_limit(0);
$host = "localhost" ;
$port =1001;
//创建一个连接
$socket =socket_create(AF_INET,SOCK_STREAM,SOL_TCP) or die ( "cannot create socket\n" );
//绑定socket到端口
$result =socket_bind( $socket , $host , $port ) or die ( "cannot bind port to socket\n" );
//开始监听这个端口
$result =socket_listen( $socket ,4) or die ( "could not set up socket listen\n" );
//接受连接,另一个socket来处理通信
$msgsock =socket_accept( $socket ) or die ( "cannot accept incoming connection\n" );
if ( $msgsock ){
echo date ( "Y-m-d H:i:s D a" );
}
//读取客户端发送过来的信息
$input =socket_read( $msgsock ,1024) or die ( "cannot read input\n" );
$input =trim( $input );
$output = strrev ( $input ). "顺序反过来了吧\n" ;
//对接收到的信息进行处理,然后返回到客户端
socket_write( $msgsock , $output , strlen ( $output )) or die ( "cannot write" );
//关闭socket连接
socket_close( $msgsock );
socket_close( $socket );
?>
|
客户端:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php
set_time_limit(0);
$host = "localhost" ;
$port =1001;
//创建一个socket
$socket =socket_create(AF_INET,SOCK_STREAM,SOL_TCP) or die ( "cannot create socket\n" );
$conn =socket_connect( $socket , $host , $port ) or die ( "cannot connect server\n" );
if ( $conn ){ echo "client connect ok!" ;}
socket_write( $socket , "hello world!" ) or die ( "cannot write data\n" );
$buffer =socket_read( $socket ,1024,PHP_NORMAL_READ);
if ( $buffer ){
echo "response was:" . $buffer . "\n" ;
}
socket_close( $socket );
?>
|
希望本文所述对大家PHP程序设计有所帮助。