/** * 发送数据到网关 * @param string $address * @param string $buffer */ protected static function sendToGateway($address, $gateway_data) { // 有$businessWorker说明是workerman环境,使用$businessWorker发送数据 if (self::$businessWorker) { if (!isset(self::$businessWorker->gatewayConnections[$address])) { return false; } return self::$businessWorker->gatewayConnections[$address]->send($gateway_data); } // 非workerman环境,使用udp发送数据 $gateway_buffer = GatewayProtocol::encode($gateway_data); $client = stream_socket_client("udp://{$address}", $errno, $errmsg); return strlen($gateway_buffer) == stream_socket_sendto($client, $gateway_buffer); }