- 相關推薦
PHP開發CS結構的技巧
PHP是一門高效的網絡編程語言,由于它具有編寫靈活、運行快速等優點,迅速成為Web程序員的首選語言。以下是小編為大家搜索整理的PHP開發CS結構的技巧,希望能給大家帶來幫助!更多經常內容請及時關注我們應屆畢業生考試網!
PHP開發CS結構的技巧 1
核心提示:用PHP開發C/S結構。
服務器
// 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! ";
else
echo "socket_create() failed:".socket_strerror ($socket)." ";
$bind = socket_bind ($socket, $ip, $port); // 綁定一個SOCKET
if ($bind)
echo "socket_bind() successed! ";
else
echo "socket_bind() failed:".socket_strerror ($bind)." ";
$listen = socket_listen ($socket); // 間聽SOCKET
if ($listen)
echo "socket_listen() successed! ";
else
echo "socket_listen() failed:".socket_strerror ($listen)." ";
while (true)
{
$msg = socket_accept ($socket); // 接受一個SOCKET
if (!$msg)
{
echo "socket_accept() failed:".socket_strerror ($msg)." ";
break;
}
$welcome = "Welcome to PHP Server! ";
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 QUIT HELP";
break;
default:
$writer = "Error Command!";
}
socket_write ($msg, $writer, strlen ($writer));
if ($command == "QUIT")
break;
}
socket_close ($msg);
}
socket_close ($socket); // 關閉SOCKET
客戶端
// Client
// 設置錯誤處理
error_reporting (E_ALL);
// 設置處理時間
set_time_limit (0);
$ip = "127.0.0.1"; // IP 地址
$port = 1000; // 端口號
$socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP); // 創建一個SOCKET
if ($socket)
echo "socket_create() successed! ";
else
echo "socket_create() failed:".socket_strerror ($socket)." ";
$conn = socket_connect ($socket, $ip, $port); // 建立SOCKET的連接
if ($conn)
echo "Success to connection![".$ip.":".$port."] ";
else
echo "socket_connect() failed:".socket_strerror ($conn)." ";
echo socket_read ($socket, 1024);
$stdin = fopen (php://stdin, r);
while (true)
{
$command = trim (fgets ($stdin, 1024));
socket_write ($socket, $command, strlen ($command));
$msg = trim (socket_read ($socket, 1024));
echo $msg." ";
if ($msg == "Bye-Bye")
break;
}
fclose ($stdin);
socket_close ($socket);
PHP開發CS結構的技巧 2
php入門到就業線上直播課:進入學習
C/S架構是客戶端/服務器體系結構,其中客戶端依靠服務器來獲取資源,C/S架構通過提供查詢響應來減少網絡流量。它具有三種類型結構分別是一層架構,兩層架構和三層架構
C/S架構是當今網絡開發架構的一大主流技術,由美國Borland公司最早研發。接下來將在文章中為大家詳細介紹這一架構,具有一定的參考價值,希望對大家有所幫助。
【推薦課程:PHP教程】
C/S架構的含義
C/S架構全稱為客戶端/服務器體系結構,它是一種網絡體系結構,其中客戶端是用戶運行應用程序的PC端或者工作站,客戶端要依靠服務器來獲取資源。C/S架構是通過提供查詢響應而不是總文件傳輸來減少了網絡流量。它允許多用戶通過GUI前端更新到共享數據庫,在客戶端和服務器之間通信一般采用遠程調用(RPC)或標準查詢語言(SQL)語句。
C/S架構的基本特征:
(1)客戶端進程包含特定于解決方案的邏輯,并提供用戶與應用程序系統其余部分之間的接口。服務器進程充當管理共享資源(如數據庫,打印機,調制解調器或高性能處理器)的軟件引擎。
(2)前端任務和后端任務對計算資源有著根本不同的要求,例如處理器速度,內存,磁盤速度和容量以及輸入/ 輸出設備。
(3)客戶端和服務器的.硬件平臺和操作系統通常不相同。客戶端和服務器進程通過一組明確定義的標準應用程序接口(API)和RPC進行通信。
(4)C/S架構的一個重要特征是可擴展性,它們可以水平或垂直縮放。水平擴展意味著添加或刪除客戶端,工作站只會對性能產生輕微影響。垂直擴展意味著遷移到更大更快的服務器計算機或多服務器中。
C/S架構的類型
一層架構
在此類型C/S架構設置中,用戶界面,營銷邏輯和數據邏輯存在于同一系統中。但是由于數據差異導致難以管理。例MP3播放器,MS Office都屬于單層應用程序。
兩層架構
在這種類型中,用戶界面存儲在客戶端機上,數據庫存儲在服務器上。數據庫邏輯和業務邏輯在客戶端或服務器上歸檔,但需要進行維護。如果在客戶端收集業務邏輯和數據邏輯,則將其命名為胖客戶端瘦服務器體系結構。如果在服務器上處理業務邏輯和數據邏輯,則稱為瘦客戶端胖服務器體系結構。這被認為是負擔得起的。
在雙層體系結構中,客戶端和服務器必須直接合并。如果客戶端向服務器提供輸入,則不應該有任何中間件。這樣做是為了快速獲得結果并避免不同客戶之間的混淆。例如,在線票務預訂軟件使用這種雙層架構。
三層架構
在三層架構中,需要使用到額外的中間件,這意味著客戶端請求需要通過該中間層進入服務器,服務器的響應首先由中間件接收,然后再接收到客戶端。中間件存儲所有業務邏輯和數據通道邏輯,中間件提高了靈活性并提供了最佳性能。
三層結構被分成三個部分,即表示層(客戶層),應用層(業務層)和數據庫層(數據層)。客戶端系統管理表示層,應用程序服務器負責應用程序層,服務器系統負責監視數據庫層。
【PHP開發CS結構的技巧】相關文章:
PHP常用控制結構07-02
PHP知識:條件結構語句07-18
PHP前端開發中的性能05-25
php開發工具排行10-15
PHP開發中注意的事08-17
PHP常用開發工具分析06-27
PHP頁面跳轉實現技巧09-19
php開發高效的WEB系統的方法08-20
PHP如何開發paypal支付插件07-22
php開發環境的搭建和使用10-01