【小(xiǎo)編推薦】PHP 通(tōn♦♥₹↔g)過Socket收發16進制(zhì)數(shù)據

2015-10-08  <λ←  |   發布者:梁國σ£(guó)芳   |  &n&δ↔×bsp;查看(kàn):3320次

php
 最近(jìn)在php下(xià)做(zuò)關于Socke¥♠​t通(tōng)訊的(de)相(xiàng)關內(nèi)容,發現(xiàn)λφ網絡上(shàng)好(hǎo)多(duō)人(rén)在了(le)解如(rú÷‍)何進行(xíng)16進制(zhì)收"δ發,研究了(le)下(xià),代碼如(rú)下(xià),歡迎拍(p✘γγ£āi)磚。



    ↕₹    $₩✘®sendStr = '30 32 30 34 03 30 §δ33';  // 16進制(zhì)數(shù)據

      ∏₩β';  $sendStrArray = str_split(st↕δ↕↕r_replace(' ', '', $sendStr), 2); ®♥§ε; // 将16進制(zhì)數(shù)據轉α 換成兩個(gè)一(yī)組的(de)數(shù)ε×∑組

    &nb✔¶$♥sp;   $socket = socket_create‌€(AF_INET, SOCK_STREA≈£M, getprotobyname("tc↕€÷αp"));  // 創建Socket

   &nbs₹♦αp;    ≈♠↑if (socket_connect($socke↔≥★t, "192.168.1.100", 8080)) ₹♠α{  //連接
     &nbδ✔∞¥sp;      for♠±♦ ($j = 0; $j < count($sendStrArray ±≈); $j++) {
     &n±↕£↕bsp;     &σσ×>nbsp;   ≤♦Ω≠ socket_write($socket, chr(hex™§γdec($sendStrArray[$j])));  /♦ / 逐組數(shù)據發送
     &n$÷bsp;    δ>‍;  }

    &n&©bsp;     ₽€ε  $receiveStr = "&q✘≤γuot;;
      &≠•nbsp;     $rec₹≠≠eiveStr = socket_read(≤♦↔$socket, 1024, PHP_BINARY_READ);&nbs≠αp; // 采用(yòng)2進制(zhì)方式接收數₩→(shù)據
    &nbs​λp;   &nbsπδλ∏p;   $receiveStrHex =‌‍Ω bin2hex($receiveStr);  /☆↑≤/ 将2進制(zhì)數(shù)據轉換成16進制(zhì)

    ±↓      &n♦•bsp; echo "client:" . $rece≈​♦iveStrHex;
      &nbε¶εsp; }
    &nb♠±•≥sp;   socket_close($socket);•♥   // 關閉Socket
   &nb  sp;    ?>