V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
bccber
V2EX  ›  PHP

PHP 转发代理服务器 疑问

  •  
  •   bccber · Jun 8, 2017 · 3336 views
    This topic created in 3249 days ago, the information mentioned may be changed or developed.
    客户端现在使用 UDP 和服务端通信,一些网络不好的用户,UDP 连接不上,会换成 HTTP 接口
    HTTP 接口使用 php 开发,接收到客户端的 buffer 直接转到 UDP 服务器,接到数据后又直接发给客户端
    由于需要根据不同的 buffer 转到不同的 UDP 服务器,不能使用开源的代理服务器
    我想问题啊:如果并发很高,下面这段代码,会不会导致服务器端口耗光?
    我们测试时 没有发现在 UDP 端口过多的情况,反而是 TCP 连接多了出现拒绝连接的情况

    namespace App\Http\Controllers;
    use Illuminate\Http\Request;

    class MyController extends Controller {

    private function sendUDP($buffer) {
    $fp = stream_socket_client('udp://192.168.1.58:6897', $errno, $errstr);
    if ($fp) {
    fwrite($fp, $buffer);
    $retBuffer = fread($fp, 1024);
    fclose($fp);
    return $retBuffer;
    }
    }
    }
    2 replies    2017-06-08 20:03:55 +08:00
    Fishdrowned
        1
    Fishdrowned  
       Jun 8, 2017 via Android
    如果你用 nginx 转 php-fpm 的话不用担心端口被耗光,php 会阻塞请求的
    owenliang
        2
    owenliang  
       Jun 8, 2017 via Android
    优化一下 tcp 内核参数 加快端口回收
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2706 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 13:55 · PVG 21:55 · LAX 06:55 · JFK 09:55
    ♥ Do have faith in what you're doing.