လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> ဖန်ရှင်အမျိုးအစားများ> socket_create_pair

socket_create_pair

လက်မခံနိုင်သောခြေစွပ်တစ်စုံတစ်ရာကို ဖန်တီး. သူတို့ကိုခင်းကျင်းစွာသိုလှောင်ထားပါ
အမည်:socket_create_pair
အမျိုးအစား:Sockets
programming language:php
တစ်ကြောင်းဖြင့်အကျဉ်းချုပ်:တူညီသောလုပ်ငန်းစဉ်အတွင်းဆက်သွယ်ရန်အသုံးပြုနိုင်သည့်အပြန်အလှန်ချိတ်ဆက်ထားသော socket များကိုဖန်တီးပါ

function name: Socket_createe_pair ()

သက်ဆိုင်သောဗားရှင်း - PHP 4, PHP 5, PHP 7

function ကိုဖော်ပြချက် - socket_create_pair () function ကို function ကို အသုံးပြု. Internonnected sockets တစ်စုံကိုဖန်တီးရန်အသုံးပြုသည်။ ၎င်းသည်တူညီသောလုပ်ငန်းစဉ်အတွင်းအသုံးပြုနိုင်ရန်အသုံးပြုနိုင်သည်။

Syntax: Bool Socket_createe_pair (INT $ domain, int $ type, int $ protocol, array & $ fd)

Parametermer

  • $ ဒိုမိန်း - socket ၏ protocol domain ။ ထောက်ပံ့ထားသော protocol domains များတွင် AF_int (IPv4 Network protocol), AF_INT6 (IPV6 ကွန်ယက်ပရိုတိုကော) တို့ပါဝင်သည်။
  • $ type: Socket အမျိုးအစား။ Support Socket အမျိုးအစားများတွင် Sock_stream (Stream Sockeamets, conceams, conclected-oriented sockets) နှင့် sock_dgram (datagram sockets, cockets, cockets, cocketets, cocketects,
  • $ protocol: socket protocol ။ ၎င်းသည် Ipproto_tcp (TCP protocol) သို့မဟုတ် iPproto_udp (UDP protocol) ဖြစ်နိုင်သည်။
  • $ FD - socket file descriptors ပါဝင်သော array တစ်ခု။ အောင်မြင်သောဖန်တီးမှုပြုလုပ်ပြီးနောက်ပထမ socket အတွက် descriptor ကို FD (0] တွင်သိမ်းထားသည်။ ဒုတိယ socket အတွက်ဖိုင်ဖော်ပြချက်ကိုဒေါ်လာ FD တွင်သိမ်းထားသည်။

ပြန်လာတန်ဖိုး - အပြန်အလှန်ချိတ်ဆက်ထားသော socket များအောင်မြင်စွာဖန်တီးနိုင်ပါကပြန်လည်ထူထောင်ပါ။ အမှားတစ်ခုဖြစ်ပေါ်ပါကမှားယွင်းစွာပြန်လာသည်။

ဥပမာ -

 // 创建一对相互连接的套接字if (socket_create_pair(AF_UNIX, SOCK_STREAM, 0, $fd) === false) { echo "套接字创建失败: " . socket_strerror(socket_last_error()) . "\n"; exit; } // 在两个套接字之间进行通信$pid = pcntl_fork(); if ($pid == -1) { echo "进程创建失败\n"; exit; } elseif ($pid == 0) { // 子进程$message = "Hello from child process!"; socket_write($fd[0], $message, strlen($message)); exit; } else { // 父进程$message = socket_read($fd[1], 1024); echo "接收到的消息: " . $message . "\n"; pcntl_wait($status); // 等待子进程结束exit; }

အထက်ဖော်ပြပါဥပမာတွင် Socket_createe_pair () တွင်အပြန်အလှန်ချိတ်ဆက်ထားသော socket များဖန်တီးရန်နှင့် fd array ရှိ sockets ၏ဖိုင်ဖော်ပြချက်များကိုသိမ်းဆည်းရန် Socket_createe_Pair () ကို သုံး. ။ ထို့နောက်ကလေးဖြစ်စဉ်ကို pcntl_fork () မှတဆင့်ဖန်တီးထားပြီးကလေးလုပ်ငန်းစဉ်သည်မိဘလုပ်ငန်းစဉ်ကိုမက်ဆေ့ခ်ျပို့သည်။ မိဘလုပ်ငန်းစဉ်သည်ကလေးဖြစ်စဉ်မှ Socket_read () မှပေးသောမက်ဆေ့ခ်ျကိုဖတ်ရှုပြီး console ကိုထုတ်ပေးသည်။ နောက်ဆုံးအနေဖြင့်ကလေးငယ်ဖြစ်စဉ်ကို PCNTL_WAIT မှတဆင့်အဆုံးသတ်ရန်စောင့်ပါ။

သက်ဆိုင်သောဖင်ခှ်ရှင်းများ
လူကြိုက်များသော ဆောင်းပါးများ