Pelayan yang diketahui pada masa ini, IP192.168.10.1
,端口号8123
,语言C++
,通信协议udp
注:服务器只接收端口号为8234
Permintaan 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.
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:
Komunikasi UDP hanya boleh dihantar tetapi tidak dikembalikan, TCP harus digunakan