Rumah  >  Soal Jawab  >  teks badan

PHP berkomunikasi dengan UDP menggunakan nombor port tetap

Pelayan yang diketahui pada masa ini, IP192.168.10.1,端口号8123,语言C++,通信协议udp
注:服务器只接收端口号为8234Permintaan dihantar oleh pelanggan

Kod berikut ditemui dalam talian Ia boleh menghantar permintaan yang berjaya, tetapi tidak boleh menerima nilai pulangan.
Menggunakan alat tangkapan paket, anda dapat melihat bahawa setiap kali permintaan dihantar, nombor port di sebelah saya adalah dinamik, bermula dari kira-kira 49k, dan meningkat sebanyak 1 untuk setiap permintaan.
Nombor port tidak betul, jadi pelayan secara semula jadi tidak akan mengembalikan nilai kepada saya.

function udpGet($sendMsg){  
    $handle = stream_socket_client("udp://192.168.10.1:8123", $errno, $errstr);  
    if( !$handle ){  
        die("ERROR: {$errno} - {$errstr}\n");  
    }  
    fwrite($handle, $sendMsg."\n");  
    $result = fread($handle, 1024);  
    fclose($handle);  
    return $result;  
}  
  
$result = udpGet('Hello World');  
echo $result;  

Bagaimana untuk menyelesaikan masalah ini? Saya telah menyemak beberapa maklumat, tetapi saya tidak menemui penyelesaian.

阿神阿神2695 hari yang lalu1173

membalas semua(2)saya akan balas

  • ringa_lee

    ringa_lee2017-06-23 09:13:29

    https://stackoverflow.com/que...

    Saya tidak mahu mengatakan apa-apa lagi, saya hanya ingin berkata:

    Anda boleh menggunakan Google untuk mencari keperluan ini,

    Kata kuncinya juga sangat mudah:

    php udp set client port

    balas
    0
  • 阿神

    阿神2017-06-23 09:13:29

    Komunikasi UDP hanya boleh dihantar tetapi tidak dikembalikan, TCP harus digunakan

    balas
    0
  • Batalbalas