php socket编程 V客学院知识分享

来源:互联网 发布:js给div添加点击事件 编辑:程序博客网 时间:2024/05/17 23:17


php socket编程(V客学院知识分享)

 

 

 

     Socket用于进程间通信。进程间通信通常基于客户端—服务端模型。此时,客户端—服务端是可以彼此交互的应用程序。客户端和服务端之间的交互需要连接。Socket编程负责的就是为应用程序之间建立可进行交互的连接。

 

下面主要讲解用PHP创建一个简单的客户端—服务端。我们还将学习如何客户端应用程序如何发送消息到服务端,以及如何从服务端接受消息。

 

 

第一部分:服务器

 

   第一:设置变量,如“主机”和“端口”

 

         $host = "127.0.0.1";

         $port = 5353;

         // No Timeout

         set_time_limit(0);

 

      注意:端口号可以是1024 -65535之间的任何正整数。

 

   第二:创建socket

 

      $socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");

 

 

 

   第三:绑定socket到端口和主机

 

       $result = socket_bind($socket, $host, $port) or die("Could not bind to socket\n");

 

   第四:启动socket监听

 

       $result = socket_listen($socket, 3) or die("Could not set up socket listener\n");

 

 

 

    第五:接受连接

       $spawn = socket_accept($socket) or die("Could not accept incoming connection\n");

 

   第六:从客户端socket读取消息

 

      $input = socket_read($spawn, 1024) or die("Could not read input\n");

 

   第七:反转消息

 

      $output = strrev($input) . "\n";

 

   第八:发送消息给客户端socket

 

      socket_write($spawn, $output, strlen ($output)) or die("Could not write output\n");

 

 

   第九:关闭socket

 

      socket_close($spawn);

      socket_close($socket);

 

  

第二部分:客户端

 

    第一:设置变量,如“主机”和“端口”

       $host = "127.0.0.1";

       $port = 5353;

 

        set_time_limit(0);

 

    第二:创建socket

 

        $socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");

    

第三:连接到服务端

 

      $result = socket_connect($socket, $host, $port) or die("Could not connect toserver\n");

 

第四:写入服务端socket

 

    socket_write($socket, $message, strlen($message)) or die("Could not send data to server\n");

 

第五:阅读来自服务端的响应

 

 

    $result = socket_read ($socket, 1024) or die("Could not read server response\n");

   echo "Reply From Server  :".$result;

 

第六:关闭socket

 

     socket_close($socket);

 

 

 

总结:在socket编程的过程中,主要按照服务端,客户端的程序格式执行,简单容易上手。

PHP开发、web前端、UI设计、VR开发专业培训机构-vIT学院版权所有,转载请注明出处,谢谢合作!)

阅读全文
0 0