zoukankan      html  css  js  c++  java
  • swoole创建TCP服务端和客户端

    服务端:

    server.php

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

    客户端:

     client.php

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

    //判断连接是否成功 if (!$client->connect('127.0.0.1', 9501, -1)) { exit("connect failed. Error: {$client->errCode} "); }

    //发送数据接收事件 $client->send("hello world");

    //输出服务返回参数 echo $client->recv();

    //连接关闭 $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  //强制杀掉对应进程
    

    下面有一些采用原生sockets建立连接的案例:

    php socket通信(tcp/udp)

    php编写TCP服务端和客户端程序

  • 相关阅读:
    Django
    Django
    Django
    6.1
    Django
    Django
    Django
    Django
    Django简介
    web应用/http协议/web框架
  • 原文地址:https://www.cnblogs.com/cxscode/p/7398371.html
Copyright © 2011-2022 走看看