示例代码

<?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 );
协议,转载请附上原文出处链接及本声明。

客户端

示例代码

<?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 );
?>