本文实例讲述了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程序设计有所帮助。