| 導購 | 订阅 | 在线投稿
分享
 
 
 

PHP监听Socket

2008-12-19 08:07:37  編輯來源:互聯網  简体版  手機版  評論  字體: ||
 
 
  <?php

  set_time_limit(10);

  $commonProtocol = getprotobyname("tcp");

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

  if ($socket) {

  $result = socket_bind($socket, 'localhost', 1337);

  if ($result) {

   $result = socket_listen($socket, 5);

   if ($result) {

   echo "监听成功";

   }

  }

  }else{

  echo "监听失败";

  }

  do {

  if (($msgsock = socket_accept($socket))) { /* 发送提示信息给连接上来的用户 */

   $msg = "==========================================\r\n" .

   "Welcome to the PHP Test Server. \r\n\r\n" .

   "To quit, type 'quit'. \r\n" .

   "To shut down the server type 'shutdown'.\r\n" .

   "To get help message type 'help'.\r\n" .

   "==========================================\r\n" .

   "php>";

  }

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

  do {

   $buf = socket_read($msgsock, 2048, PHP_BINARY_READ);

   if (false === $buf) {

   echo "socket_read() failed: reason: " . socket_strerror($result) . "\n";

   break 2;

   }

   if (!$buf = trim($buf)) {

   continue;

   } /* 客户端输入quit命令时候关闭客户端连接 */

   if ($buf == 'q') {

   break;

   } /* 客户端输入shutdown命令时候服务端和客户端都关闭 */

   if ($buf == 'shutdown') {

   socket_close($msgsock);

   break 2;

   } /* 客户端输入help命令时候输出帮助信息 */

   if ($buf == 'h') {

   $msg = " PHP Server Help Message \r\n\r\n" .

   " To quit, type 'quit'. \r\n" .

   " To shut down the server type 'shutdown'.\r\n" .

   " To get help message type 'help'.\r\n" .

   "php> ";

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

   continue;

   } /* 客户端输入命令不存在时提示信息 */

   $talkback = "PHP: unknow command '$buf'.\r\nphp> ";

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

   echo "$buf\n";

  } while (true);

  socket_close($msgsock);

  }while (true);

  /* 关闭Socket连接 */

  socket_close($socket);

  ?>
 
 
 
<?php set_time_limit(10); $commonProtocol = getprotobyname("tcp"); $socket = socket_create(AF_INET, SOCK_STREAM, $commonProtocol); if ($socket) { $result = socket_bind($socket, 'localhost', 1337); if ($result) { $result = socket_listen($socket, 5); if ($result) { echo "监听成功"; } } }else{ echo "监听失败"; } do { if (($msgsock = socket_accept($socket))) { /* 发送提示信息给连接上来的用户 */ $msg = "==========================================\r\n" . "Welcome to the PHP Test Server. \r\n\r\n" . "To quit, type 'quit'. \r\n" . "To shut down the server type 'shutdown'.\r\n" . "To get help message type 'help'.\r\n" . "==========================================\r\n" . "php>"; } socket_write($msgsock, $msg, strlen($msg)); do { $buf = socket_read($msgsock, 2048, PHP_BINARY_READ); if (false === $buf) { echo "socket_read() failed: reason: " . socket_strerror($result) . "\n"; break 2; } if (!$buf = trim($buf)) { continue; } /* 客户端输入quit命令时候关闭客户端连接 */ if ($buf == 'q') { break; } /* 客户端输入shutdown命令时候服务端和客户端都关闭 */ if ($buf == 'shutdown') { socket_close($msgsock); break 2; } /* 客户端输入help命令时候输出帮助信息 */ if ($buf == 'h') { $msg = " PHP Server Help Message \r\n\r\n" . " To quit, type 'quit'. \r\n" . " To shut down the server type 'shutdown'.\r\n" . " To get help message type 'help'.\r\n" . "php> "; socket_write($msgsock, $msg, strlen($msg)); continue; } /* 客户端输入命令不存在时提示信息 */ $talkback = "PHP: unknow command '$buf'.\r\nphp> "; socket_write($msgsock, $talkback, strlen($talkback)); echo "$buf\n"; } while (true); socket_close($msgsock); }while (true); /* 关闭Socket连接 */ socket_close($socket); ?>
󰈣󰈤
日版宠物情人插曲《Winding Road》歌词

日版宠物情人2017的插曲,很带节奏感,日语的,女生唱的。 最后听见是在第8集的时候女主手割伤了,然后男主用嘴帮她吸了一下,插曲就出来了。 歌手:Def...

兄弟共妻,我成了他们夜里的美食

老钟家的两个儿子很特别,就是跟其他的人不太一样,魔一般的执着。兄弟俩都到了要结婚的年龄了,不管自家老爹怎么磨破嘴皮子,兄弟俩说不娶就不娶,老父母为兄弟两操碎了心...

 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
 
王朝网络微信公众号
微信扫码关注本站公众号 wangchaonetcn
 
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味著赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有