လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP's Socket_sendto function ကို အသုံးပြု. ထုတ်လွှင့်သောမက်ဆေ့ခ်ျများပေးပို့ခြင်း - ဘက်စုံသင်ခန်းစာနှင့်ဥပမာ

PHP's Socket_sendto function ကို အသုံးပြု. ထုတ်လွှင့်သောမက်ဆေ့ခ်ျများပေးပို့ခြင်း - ဘက်စုံသင်ခန်းစာနှင့်ဥပမာ

M66 2025-06-22

1 ။ ထုတ်လွှင့်မှုသတင်းစကားကဘာလဲ။

ထုတ်လွှင့်သည့်မက်ဆေ့ခ်ျတစ်ခုသည်သီးခြားကိရိယာတစ်ခုနှင့်မတူဘဲတူညီသောကွန်ယက်ရှိကိရိယာများအားလုံးကိုပေးပို့သည့်စာတစ်စောင်ဖြစ်သည်။ ၎င်းသည်ပုံမှန်အားဖြင့်ဒေသတွင်းကွန်ယက် (LAN) ရှိကိရိယာများအားလုံးသည် 0 န်ဆောင်မှုရှာဖွေတွေ့ရှိခြင်း,

PHP တွင်အသံလွှင့်မက်ဆေ့ခ်ျများပို့ရန် Socket_sendto function ကိုသုံးနိုင်သည်။ ထုတ်လွှင့်ခြင်းသတင်းကိုထုတ်လွှင့်သည့်သတင်းစကားသည်များသောအားဖြင့်ကွန်ရက်၏ထုတ်လွှင့်မှုလိပ်စာ ( 255.255.2555.255.255 ) ကို အသုံးပြု. UDP protocol ကို အသုံးပြု. ပို့ရန်လိုအပ်သည်။


2 ။ broadcast messages များကိုပို့ရန် Socket_sendto ကိုသုံးပါ

broadcast message ကိုပို့ရန်ကျွန်ုပ်တို့ UDP Socket ကိုဖွင့်ရန် Socket_sendto function ကိုထုတ်လွှင့်ရန် Socket_sendto function ကိုသုံးပါ။ Budge Functions များကိုအကောင်အထည်ဖော်ရန်အခြေခံအဆင့်များသည်အောက်ပါအတိုင်းဖြစ်သည်။

  1. Socket Create : Socket_create ကိုအသုံးပြုပြီး UDP Socket ကိုဖန်တီးပါ။

  2. Broadcast Permissions များကို Setocking_set_option ဖြင့်ထုတ်လွှင့်ခြင်း။

  3. အသံလွှင့်မက်ဆေ့ခ်ျများပေးပို့ပါSocket_sendto ကို မက်ဆေ့ခ်ျများပို့ရန်အသုံးပြုပါ။

  4. Close Socket : မက်ဆေ့ခ်ျကိုပို့ပြီးနောက် socket ကိုပိတ်ပါ။

3 ။ Code ဥပမာ

ဤနေရာတွင် socket_sendto function ကိုအသုံးပြုပြီး broadcast message များပေးပို့ခြင်း၏ဥပမာအပြည့်အစုံဖြစ်သည်။

 <?php
// aUDPSockets
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
if (!$socket) {
    echo "无法创建Sockets: " . socket_strerror(socket_last_error()) . "\n";
    exit;
}

// 设置Sockets选项以允许广播
$opt = 1;
socket_set_option($socket, SOL_SOCKET, SO_BROADCAST, $opt);

// အသံလွှင့်ခြင်းမက်ဆေ့ခ်ျကိုအကြောင်းအရာ
$message = "ဒါကထုတ်လွှင့်တဲ့သတင်းစကားပါ!";

// ထုတ်လွှင့်လိပ်စာနှင့်ဆိပ်ကမ်း
$broadcastAddress = '255.255.255.255';
$port = 12345;

// ထုတ်လွှင့်စာများပို့ပါ
$bytesSent = socket_sendto($socket, $message, strlen($message), 0, $broadcastAddress, $port);
if ($bytesSent === false) {
    echo "ပေးပို့ခြင်းမအောင်မြင်ပါ: " . socket_strerror(socket_last_error()) . "\n";
} else {
    echo "အဆိုပါထုတ်လွှင့်မက်ဆေ့ခ်ျကိုအောင်မြင်စွာပေးပို့ခဲ့တာဖြစ်ပါတယ်!\n";
}

// 关闭Sockets
socket_close($socket);
?>

4 ။ အဓိကအချက်များဖော်ပြချက်

  • Socket : Socket_create (AF_ATEATE) UDP Socket ကိုဖန်တီးရန်အသုံးပြုသည်။

  • Broadcast Permissions များကိုသတ်မှတ်ပါSocket_set_option ($ socket, sol_broadcast, so_broadcast, so_broadcast, so_boadcast, so_broadcast, so_boadcast) ကို enable လုပ်ပါ။

  • ထုတ်လွှင့်သည့်လိပ်စာ - 255.255.2555.255 သည်ပုံမှန်အားဖြင့်အသုံးပြုသောအသံလွှင့်ဌာနတစ်ခုဖြစ်ပြီး၎င်းသည်ဒေသတွင်းကွန်ယက်ရှိကိရိယာများအားလုံးကိုကိုယ်စားပြုသော broadcroad လိပ်စာဖြစ်သည်။

  • မက်ဆေ့ခ်ျများပို့ပါSocket_sendto ($ socket, $ message, strlen ($ message), 0, $ broadcordaddrder, $ port), 0, $ broadcord and port မှတဆင့်မက်ဆေ့ခ်ျများပို့ပေးသည်။


5 ။ မှတ်စုဖို့အရာ

  1. Network Configuration : သင်၏ကွန်ရက်သည်အသံလွှင့်ခွင့်ပြုရန်သေချာစေပါ။ သင်၏ Firewall (သို့) router ကိုသင့်တွင်အကန့်အသတ်မရှိလျှင်ထုတ်လွှင့်ခြင်းမက်ဆေ့ခ်ျများပေးပို့ခြင်းကိုတားဆီးနိုင်သည်။

  2. ထုတ်လွှင့်မှုလိပ်စာ - ကွန်ယက်ဖွဲ့စည်းမှုအချို့တွင် 255.255.2555555555.255.255.255.255.255.255.255.255.255.255.255.2555.2555.255.2555.2555555.255.255.2555.255555.255.255.255 . ၎င်းကိုကွန်ယက်၏ထုတ်လွှင့်မှုလိပ်စာကိုတွက်ချက်ခြင်းဖြင့်ဆုံးဖြတ်နိုင်သည်။

  3. အမှားကိုင်တွယ်ခြင်း - ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်အသုံးပြုသောအခါ Socket Creation ပျက်ကွက်ခြင်း,


6 ။ လက်တွေ့ကျသော application အခြေအနေများ

ထုတ်လွှင့်သောမက်ဆေ့ခ်ျများ၏ application အခြေအနေများသည်အလွန်ကျယ်ပြန့်စွာရှိပြီးအောက်ပါတို့မှာများသောအားဖြင့်အသုံးများသောအခြေအနေများဖြစ်သည်။

  • LAN 0 န်ဆောင်မှုရှာဖွေတွေ့ရှိမှု - ကိရိယာတွင်၎င်းတို့၏တည်ရှိမှုမက်ဆေ့ခ်ျများမှတဆင့်မိမိတို့၏တည်ရှိမှုကွန်ယက်ရှိအခြားကိရိယာများကိုဖော်ပြထားသည်။

  • System Notification - System updates များ, သတိပေးမက်ဆေ့ခ်ျများစသဖြင့်တူညီသောကွန်ယက်ရှိကိရိယာများအားလုံးကိုအသိပေးချက်များကိုပေးပို့ပါ။

  • Real-time update : ဂိမ်းများတွင်အချိန်နှင့်တပြေးညီအဆင့်အတန်းမွမ်းမံမှုများကဲ့သို့သောစက်ကိရိယာများအားလုံးကိုထုတ်လွှင့်သောအချက်အလက်များကိုထုတ်လွှင့်သောအချက်အလက်များကိုထုတ်လွှင့်သည်။