酬劳网用户【破千】^_^ 欢迎更多的程序员加入进来~

  • 当前位置:
  • 实战经验
  • ->
  • 开发语言分类
swoole创建TCP服务端盒客户端

       实战经验->开发语言        类型:原创        作者:酬劳网        浏览数:1091        发布日期:2019-06-20 10:49:51
       swoole创建TCP服务端盒客户端

swoole创建TCP服务端盒客户端 

按照官方给的domo自己实际操作后的记录


服务端server.php

<?php   
    //创建Server对象,监听 127.0.0.1:9501端口
   $serv = new swoole_server("127.0.0.1", 9501);<br>
   //监听连接进入事件
   $serv->on('connect', function ($serv, $fd) {
      echo "Client: Connect.\n";
   });
  
   //监听数据接收事件
   $serv->on('receive', function ($serv, $fd, $from_id, $data) {<br>          echo "Client: ".$data.".\n";
      $serv->send($fd, "Server: ".$data."\n");
   });
  
   //监听连接关闭事件
   $serv->on('close', function ($serv, $fd) {
      echo "Client: Close.\n";
   });
   //启动服务器
   $serv->start();<br>
?>


客户端client.php

<?php
    //创建Client对象,连接 127.0.0.1:9501端口
    $client = new swoole_client(SWOOLE_SOCK_TCP);<br><br>    //判断连接是否成功
    if (!$client->connect('127.0.0.1', 9501, -1))
    {
        exit("connect failed. Error: {$client->errCode}\n");
    }
    //发送数据接收事件
    $client->send("hello world");<br><br>    //输出服务返回参数
    echo $client->recv();<br><br>    //连接关闭
    $client->close();
?>


执行

php server.php
php client.php


如果出现以下错误的解决方式

ERROR swSocket_bind (ERROR 502): bind(127.0.0.1:9501) failed. Error: Address already in use [98]
  
lsof -i:9501  //查看9501对应的端口
  
kill 2294  //杀掉对应进程
  
kill -9 2294  //强制杀掉对应进程