Linux下源码包安装Swoole及基本使用操作图文详解(2)

(如果telnet工具没有安装,执行yum install telnetyum install telnet-server

也可以写一个TCP客户端连接TCP服务器端:

创建tcp_client.php:

<?php
  //创建Client对象,监听 127.0.0.1:9501端口
  $client = new swoole_client(SWOOLE_SOCK_TCP); 

  if(!$client->connect("127.0.0.1" ,9501)){
	echo "连接失败";
	exit;
  }

  //向tcp服务器发送消息
  fwrite(STDOUT, "请输入:");
  $msg = trim(fgets(STDIN));
  $client->send($msg);

  //接受tcp服务器消息
  $result = $client->recv();
  echo $result;

启动tcp客户端:

php tcp_client.php

测试结果: 


【创建UDP服务器】

创建udp_server.php:

<?php
  //创建Server对象,监听 127.0.0.1:9502端口,类型为SWOOLE_SOCK_UDP
  $serv = new swoole_server("127.0.0.1", 9502, SWOOLE_PROCESS, SWOOLE_SOCK_UDP); 

  //监听数据接收事件
  $serv->on('Packet', function ($serv, $data, $clientInfo) {
    $serv->sendto($clientInfo['address'], $clientInfo['port'], "Server ".$data);
    var_dump($clientInfo);
  });

  //启动服务器
  $serv->start(); 

启动UDP服务:

php udp_server.php

查看9502端口已被监听:

netstat -an | grep 9502

使用netcat连接UDP服务,输入hello,服务器返回hello即测试成功(CentOS):

nc -u 127.0.0.1 9502

 

(如果没有安装netcat监听器,执行yum install -y nc


【创建Web服务器】

创建http_server.php:

<?php
  $http = new swoole_http_server("0.0.0.0", 9501);
  
  //配置静态文件根目录(可选)
  $http->set([
    'document_root' => '/www/wwwroot/lwsblog',
    'enable_static_handler' => true,
  ]);

  $http->on('request', function ($request, $response) {
    var_dump($request->get, $request->post);
    
    //设置header
    $response->header("Content-Type", "text/html; charset=utf-8");

    //设置cookie
    $response->cookie("name", "lws", time()+3600);

    //发送Http响应体,并结束请求处理。
    $response->end("<h1>Hello Swoole. #".rand(1000, 9999)."</h1>");
  });

  $http->start();
      

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/5957.html