av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

php語言

PHP socket的配置及實例

時間:2025-03-21 02:37:40 php語言 我要投稿
  • 相關(guān)推薦

PHP socket的配置及實例

  PHP獨特的語法混合了C、Java、Perl以及PHP自創(chuàng)的語法。它可以比CGI或者Perl更快速地執(zhí)行動態(tài)網(wǎng)頁。以下是小編為大家搜索整理的PHP socket的配置及實例,歡迎大家閱讀!更多精彩內(nèi)容請及時關(guān)注我們應屆畢業(yè)生考試網(wǎng)!

  //phpinfo();

  //確保在連接客戶端時不會超時

  set_time_limit(0);

  $ip = '127.0.0.1';

  $port = 1935;

  /*

  +-------------------------------

  * @socket通信整個過程

  +-------------------------------

  * @socket_create

  * @socket_bind

  * @socket_listen

  * @socket_accept

  * @socket_read

  * @socket_write

  * @socket_close

  +--------------------------------

  */

  /*---------------- 以下操作都是手冊上的 -------------------*/

  if(($sock = socket_create(AF_INET,SOCK_STREAM,SOL_TCP)) < 0) {

  echo "socket_create() 失敗的原因是:".socket_strerror($sock)."\n";

  }

  if(($ret = socket_bind($sock,$ip,$port)) < 0) {

  echo "socket_bind() 失敗的原因是:".socket_strerror($ret)."\n";

  }

  if(($ret = socket_listen($sock,4)) < 0) {

  echo "socket_listen() 失敗的原因是:".socket_strerror($ret)."\n";

  }

  $count = 0;

  do {

  if (($msgsock = socket_accept($sock)) < 0) {

  echo "socket_accept() failed: reason: " . socket_strerror($msgsock) . "\n";

  break;

  } else {

  //發(fā)到客戶端

  $msg ="測試成功!\n";

  socket_write($msgsock, $msg, strlen($msg));

  echo "測試成功了啊\n";

  $buf = socket_read($msgsock,8192);

  $talkback = "收到的信息:$buf\n";

  echo $talkback;

  if(++$count >= 5){

  break;

  };

  }

  //echo $buf;

  socket_close($msgsock);

  } while (true);

  socket_close($sock);

  ?>

  client.php

  [php] view plaincopy

  error_reporting(E_ALL);

  set_time_limit(0);

  echo "

  TCP/IP Connection

  \n";

  $port = 1935;

  $ip = "127.0.0.1";

  /*

  +-------------------------------

  * @socket連接整個過程

  +-------------------------------

  * @socket_create

  * @socket_connect

  * @socket_write

  * @socket_read

  * @socket_close

  +--------------------------------

  */

  $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

  if ($socket < 0) {

  echo "socket_create() failed: reason: " . socket_strerror($socket) . "\n";

  }else {

  echo "OK.\n";

  }

  echo "試圖連接 '$ip' 端口 '$port'...\n";

  $result = socket_connect($socket, $ip, $port);

  if ($result < 0) {

  echo "socket_connect() failed.\nReason: ($result) " . socket_strerror($result) . "\n";

  }else {

  echo "連接OK\n";

  }

  $in = "Ho\r\n";

  $in .= "first blood\r\n";

  $out = '';

  if(!socket_write($socket, $in, strlen($in))) {

  echo "socket_write() failed: reason: " . socket_strerror($socket) . "\n";

  }else {

  echo "發(fā)送到服務(wù)器信息成功!\n";

  echo "發(fā)送的內(nèi)容為:$in

  ";

  }

  while($out = socket_read($socket, 8192)) {

  echo "接收服務(wù)器回傳信息成功!\n";

  echo "接受的內(nèi)容為:",$out;

  }

  echo "關(guān)閉SOCKET...\n";

  socket_close($socket);

  echo "關(guān)閉OK\n";

  ?>

  偵聽# /usr/local/php/bin/php /usr/local/apache2/htdocs/server.php

  請求

  # /usr/local/php/bin/php /usr/local/apache2/htdocs/client.php

  默認PHP是沒有開啟Socket的

  #cd ./ext/sockets/

  # /usr/local/php/bin/phpize

  # ./configure --enable-sockets --with-php-config=/usr/local/php/bin/php-config

  # make

  # make install

  php.ini修改配置

  增加

  extension=sockets.so

  重啟apache

  # /usr/local/apache2/bin/apachectl restart

  ===================

  Windows下的配置

  修改php.ini

  extension=php_sockets.dll

  重啟apache

  cmd下起2個

  php的安裝目錄

  C:/php/php.exe F:web/server.php

  C:/php/php.exe F:web/client.php

【PHP socket的配置及實例】相關(guān)文章:

PHP的Socket通信之UDP通信實例07-27

PHP Socket編程過程07-19

php學習之php配置07-15

php畫圖實例07-16

PHP基礎(chǔ)配置09-25

PHP安裝與配置09-09

php中的socket框架性能分析07-17

php查詢mysql的實例09-09

PHP實用的代碼實例08-12