这是一个创建于 2756 天前的主题,其中的信息可能已经有所发展或是发生改变。
客户端现在使用 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 条回复 • 2017-06-08 20:03:55 +08:00
|
|
1
Fishdrowned 2017-06-08 19:24:51 +08:00 via Android
如果你用 nginx 转 php-fpm 的话不用担心端口被耗光,php 会阻塞请求的
|
|
|
2
owenliang 2017-06-08 20:03:55 +08:00 via Android
优化一下 tcp 内核参数 加快端口回收
|