PHPリスニングソケット

WBOY
リリース: 2016-07-25 08:47:27
オリジナル
905 人が閲覧しました
PHPリスニングソケット

                                                                                                                                                                                                                                                                                                                            


set_time_limit(10);
$commonProtocol = getprotobyname("tcp");
    $socket =ソケット_create(AF_INET, SOCK_STREAM, $commonProtocol);
  1. if ($socket) {
  2. $result =ソケットバインド($socket, 'localhost', 1337);
  3. if ($result) {
  4. $result =ソケット_listen($socket, 5);
  5. if ($result) {
  6. echo "リスニング成功";
  7. }
  8. }
  9. }else{
  10. echo "リスニングに失敗しました";
  11. }
  12. do {
  13. if (($msgsock =ソケット_accept($socket))) { /* 接続中のユーザーにプロンプ​​ト情報を送信します*/
  14. $msg = "======== = ================================rn" .
  15. "PHP テスト サーバーへようこそ rnrn" .
  16. "終了するには、「quit」.rn と入力します。" .
  17. "サーバーをシャットダウンするには、「shutdown」.rn と入力します。" .
  18. "ヘルプ メッセージを表示するには、「help'.rn」と入力します。" .
  19. "======= = ===================================rn" .
  20. "php>";
  21. }
  22. socket_write ( $msgsock, $msg, strlen($msg));
  23. do {
  24. $buf =ソケット_read($msgsock, 2048, PHP_BINARY_READ);
  25. if (false === $buf) {
  26. echo "socket_read() failed :reason: " .socket_strerror($result) . "n";
  27. Break 2;
  28. }
  29. if (!$buf = trim($buf)) {
  30. continue;
  31. } /* クライアントが入ったらクライアントを閉じるquit コマンド 接続を終了します*/
  32. if ($buf == 'q') {
  33. Break;
  34. } /* クライアントが shutdown コマンドを入力すると、サーバーとクライアントの両方がシャットダウンされます*/
  35. if ($buf == 'shutdown') {
  36. socket_close($msgsock);
  37. break 2;
  38. } /* クライアントがヘルプコマンドを入力したときにヘルプ情報を出力します*/
  39. if ($buf == 'h') {
  40. $msg = "PHP サーバー ヘルプ メッセージ rnrn"。
  41. " 終了するには、「quit」と入力します。rn" .
  42. " サーバーをシャットダウンするには、「shutdown'.rn」と入力します。
  43. " ヘルプ メッセージを表示するには、「help'.rn」と入力します。
  44. "php> ";
  45. socket_write ($msgsock, $msg, strlen($msg));
  46. continue;
  47. } /* クライアント入力コマンドが存在しない場合のプロンプトメッセージ*/
  48. $talkback = "PHP: 不明なコマンド'$buf'.rnphp> ";
  49. socket_write($msgsock, $talkback, strlen($talkback));
  50. echo "$bufn";
  51. } while (true);
  52. socket_close($msgsock);
  53. }while ( true);
  54. /* ソケット接続を閉じる */
  55. socket_close($socket);
  56. コードをコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート