<?php
// Nhận tham số từ query string
$type = $_GET['type'] ?? '';
$ip   = $_GET['ip']   ?? '';
$port = isset($_GET['port']) ? (int)$_GET['port'] : 4370;
$name = $_GET['name'] ?? '';
$from = $_GET['from'] ?? '';
$to   = $_GET['to']   ?? '';
$ipconnect = '192.168.1.188';
$portconnect = '4380';

if ($ipconnect === '' || $portconnect <= 0 || $port > 65535) {
    http_response_code(400);
    exit("Thiếu hoặc sai ip/port");
}

// Chuẩn bị payload gửi tới server TCP
$payload = json_encode([
    'type' => $type,
    'ip' => $ip,
    'port' => $port,
    'name' => $name,
    'from' => $from,
    'to'   => $to,
], JSON_UNESCAPED_UNICODE);

$fp = @fsockopen($ipconnect, $portconnect, $errno, $errstr, 5);
if (!$fp) {
    http_response_code(500);
    exit("Kết nối thất bại: $errstr");
}

// Gửi payload
fwrite($fp, $payload);

// Đọc phản hồi (server delay 10s nên tăng timeout)
stream_set_timeout($fp, 15);
$response = stream_get_contents($fp, 4096);
$info = stream_get_meta_data($fp);
fclose($fp);

if ($response === false || $info['timed_out']) {
    http_response_code(504);
    exit("Timeout khi chờ phản hồi từ server");
}

echo $response;