程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 用PHP開發C/S結構

用PHP開發C/S結構

編輯:PHP綜合

服務器

<?php
// Server
// 設置錯誤處理
error_reporting (E_ALL);
// 設置運行時間
set_time_limit (0);
// 起用緩沖
ob_implicit_flush ();
$ip = "127.0.0.1"; // IP地址
$port = 1000; // 端口號
$socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP); // 創建一個 SOCKET
if ($socket)
   echo "socket_create() successed!\n";
else
   echo "socket_create() failed:".socket_strerror ($socket)."\n";
$bind = socket_bind ($socket, $ip, $port); // 綁定一個SOCKET
if ($bind)
   echo "socket_bind() successed!\n";
else
   echo "socket_bind() failed:".socket_strerror ($bind)."\n";
$listen = socket_listen ($socket); // 間聽SOCKET
if ($listen)
   echo "socket_listen() successed!\n";
else
   echo "socket_listen() failed:".socket_strerror ($listen)."\n";
while (true)
{
   $msg = socket_accept ($socket); // 接受一個SOCKET
   if (!$msg)
   {
     echo "socket_accept() failed:".socket_strerror ($msg)."\n";
     break;
   }
   $welcome = "Welcome to PHP Server!\n";
   socket_write ($msg, $welcome, strlen ($welcome));
   while (true)
   {
     $command = strtoupper (trim (socket_read ($msg, 1024)));
     if (!$command)
       break;
     switch ($command)
     {
       case "HELLO":
         $writer = "Hello Everybody!";
         break;
       case "QUIT":
         $writer = "Bye-Bye";
         break;
       case "HELP":
         $writer = "HELLO\tQUIT\tHELP";
         break;
       default:
         $writer = "Error Command!";
     }
     socket_write ($msg, $writer, strlen ($writer));
     if ($command == "QUIT")
       break;
   }
   socket_close ($msg);
}
socket_close ($socket); // 關閉SOCKET
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved