一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP實現Socket服務器的代碼

PHP實現Socket服務器的代碼

2019-10-27 11:54php代碼網 PHP教程

PHP實現Socket服務器的代碼

  1. <?php  
  2. ob_implicit_flush();  
  3. set_time_limit(0);  
  4.  
  5. $address = "192.40.7.93";//換成你自己的地址  
  6. $port = 10000;  
  7.  
  8. if(($socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP)) == false)  
  9.  echo "錯誤(socket_create):".socket_strerror(socket_last_error())."<br />";  
  10.  
  11. if(socket_bind($socket,$address,$port) == false)  
  12.  echo "錯誤(socket_bind):".socket_strerror(socket_last_error())."<br />";  
  13.  
  14. if(socket_listen($socket) == false)  
  15.  echo "錯誤(socket_listen):".socket_strerror(socket_last_error())."<br />";  
  16.  
  17. /*  
  18. After the socket socket has been created using socket_create() and bound to a name with socket_bind(),   
  19. it may be told to listen for incoming connections on socket.   
  20. */  
  21.  
  22. while(true){  
  23.  if(($msgSocket = socket_accept($socket)) == false){  
  24.   echo "錯誤(socket_accept):".socket_strerror(socket_last_error())."<br />";  
  25.   break;  
  26.  }  
  27.  
  28.  /*  
  29.  this function will accept incoming connections on that socket.   
  30.  Once a successful connection is made, a new socket resource is returned, which may be used for communication.   
  31.  If there are multiple connections queued on the socket, the first will be used.   
  32.  If there are no pending connections, socket_accept() will block until a connection becomes present.   
  33.  If socket has been made non-blocking using socket_set_blocking() or socket_set_nonblock(), FALSE will be returned.   
  34.  */  
  35.  
  36.  $msg = "Welcome!<br />";  
  37.  //socket_write($msg,$msg,strlen($msg));  
  38.  $command = "";  
  39.  
  40.  while(true){  
  41.   if(($buf = socket_read($msgSocket,2048,PHP_BINARY_READ)) == false){  
  42.    echo "錯誤(socket_read):".socket_strerror(socket_last_error())."<br />";  
  43.    break 2;  
  44.   }  
  45.  
  46.   /*  
  47.   The function socket_read() reads from the socket resource socket created by the socket_create() or socket_accept() functions.   
  48.   The maximum number of bytes read is specified by the length parameter.   
  49.   Otherwise you can use \r, \n, or \0 to end reading (depending on the type parameter, see below).     
  50.   */  
  51.  
  52.   /*  
  53.   if(!$buf = trim($buf))  
  54.    continue; // ????  
  55.  
  56.   if($buf == "quit")  
  57.    break;  
  58.  
  59.   if($buf == "shutdown"){  
  60.    socket_close($msgSocket);  
  61.    break 2;  
  62.   }  
  63.  
  64.   $tallBack = "You say:$buf\n";  
  65.   socket_write($msgSocket,$tallBack,strlen($tallBack));  
  66.   */  
  67.  
  68.   if(ord($buf) != 13)  
  69.    $command .= $buf;  
  70.   else{  
  71.    $command1 = "You Say:$command\r\n";  
  72.    socket_write($msgSocket,$command1,strlen($command1));  
  73.    echo "User typed:".$command."<br />";  
  74.    $command = "";  
  75.   }  
  76.  }  
  77.  socket_close($msgSocket);  
  78. }  
  79.  
  80. socket_close($socket);  
  81. ?> 

然后打開CMD,輸入:telnet192.40.7.9310000,自己體驗去吧!

PHP實現Socket服務器的代碼

注,要把:php_sockets.dll 打開

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩高清在线观看 | 成人aqq | 日本又黄又裸一级大黄裸片 | 国产视频中文字幕 | а天堂中文最新版在线 | 色综合图区 | 性姿势女人嗷嗷叫图片 | 我的男友是消防员在线观看 | 国产欧美精品一区二区三区 | 女人叉开腿让男人捅 | 国产成人综合网亚洲欧美在线 | 蜜桃麻豆 | 91国产在线第7页 | 4438全国最大成人网视频 | 男人综合网 | 久久er国产精品免费观看2 | 天堂va在线 | 校园刺激全黄H全肉细节文 校草让我脱了内裤给全班看 | fc2免费人成为视频 eeuss18影院www国产 | 日本视频免费在线播放 | 国产亚洲精品高清在线 | 草草草视频 | 精品一区二区三区五区六区 | 国产麻豆流白浆在线观看 | 精品国产自在现线久久 | 手机在线观看伦理片 | 午夜小福利 | 亚洲高清一区二区三区久久 | 大伊香蕉精品二区视频在线 | 我和黑色丝袜班主任 | 舔大逼| 成人永久免费福利视频网站 | 97涩色| 香艳69xxxxx有声小说 | 国产亚洲欧美成人久久片 | 青苹果乐园影院免费观看完整版 | 狠狠色狠狠色综合日日小蛇 | 美女脱了内裤张开腿亲吻男生 | 91夜夜人人揉人人捏人人添 | 亚洲国产欧美久久香综合 | 国产专区日韩精品欧美色 |