亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

php語言

PHP開發(fā)CS結(jié)構(gòu)的技巧

時間:2022-11-09 12:55:29 紫陽 php語言 我要投稿
  • 相關(guān)推薦

PHP開發(fā)CS結(jié)構(gòu)的技巧

  PHP是一門高效的網(wǎng)絡(luò)編程語言,由于它具有編寫靈活、運(yùn)行快速等優(yōu)點(diǎn),迅速成為Web程序員的首選語言。以下是小編為大家搜索整理的PHP開發(fā)CS結(jié)構(gòu)的技巧,希望能給大家?guī)韼椭?更多經(jīng)常內(nèi)容請及時關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!

  PHP開發(fā)CS結(jié)構(gòu)的技巧 1

  核心提示:用PHP開發(fā)C/S結(jié)構(gòu)。

  服務(wù)器

  // Server

  // 設(shè)置錯誤處理

  error_reporting (E_ALL);

  // 設(shè)置運(yùn)行時間

  set_time_limit (0);

  // 起用緩沖

  ob_implicit_flush ();

  $ip = "127.0.0.1"; // IP地址

  $port = 1000; // 端口號

  $socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP); // 創(chuàng)建一個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); // 關(guān)閉SOCKET

  客戶端

  // Client

  // 設(shè)置錯誤處理

  error_reporting (E_ALL);

  // 設(shè)置處理時間

  set_time_limit (0);

  $ip = "127.0.0.1"; // IP 地址

  $port = 1000; // 端口號

  $socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP); // 創(chuàng)建一個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開發(fā)CS結(jié)構(gòu)的技巧 2

  php入門到就業(yè)線上直播課:進(jìn)入學(xué)習(xí)

  C/S架構(gòu)是客戶端/服務(wù)器體系結(jié)構(gòu),其中客戶端依靠服務(wù)器來獲取資源,C/S架構(gòu)通過提供查詢響應(yīng)來減少網(wǎng)絡(luò)流量。它具有三種類型結(jié)構(gòu)分別是一層架構(gòu),兩層架構(gòu)和三層架構(gòu)

  C/S架構(gòu)是當(dāng)今網(wǎng)絡(luò)開發(fā)架構(gòu)的一大主流技術(shù),由美國Borland公司最早研發(fā)。接下來將在文章中為大家詳細(xì)介紹這一架構(gòu),具有一定的參考價值,希望對大家有所幫助。

  【推薦課程:PHP教程

  C/S架構(gòu)的含義

  C/S架構(gòu)全稱為客戶端/服務(wù)器體系結(jié)構(gòu),它是一種網(wǎng)絡(luò)體系結(jié)構(gòu),其中客戶端是用戶運(yùn)行應(yīng)用程序的PC端或者工作站,客戶端要依靠服務(wù)器來獲取資源。C/S架構(gòu)是通過提供查詢響應(yīng)而不是總文件傳輸來減少了網(wǎng)絡(luò)流量。它允許多用戶通過GUI前端更新到共享數(shù)據(jù)庫,在客戶端和服務(wù)器之間通信一般采用遠(yuǎn)程調(diào)用(RPC)或標(biāo)準(zhǔn)查詢語言(SQL)語句。

  C/S架構(gòu)的'基本特征:

 。1)客戶端進(jìn)程包含特定于解決方案的邏輯,并提供用戶與應(yīng)用程序系統(tǒng)其余部分之間的接口。服務(wù)器進(jìn)程充當(dāng)管理共享資源(如數(shù)據(jù)庫,打印機(jī),調(diào)制解調(diào)器或高性能處理器)的軟件引擎。

 。2)前端任務(wù)和后端任務(wù)對計算資源有著根本不同的要求,例如處理器速度,內(nèi)存,磁盤速度和容量以及輸入/ 輸出設(shè)備。

 。3)客戶端和服務(wù)器的硬件平臺和操作系統(tǒng)通常不相同?蛻舳撕头⻊(wù)器進(jìn)程通過一組明確定義的標(biāo)準(zhǔn)應(yīng)用程序接口(API)和RPC進(jìn)行通信。

 。4)C/S架構(gòu)的一個重要特征是可擴(kuò)展性,它們可以水平或垂直縮放。水平擴(kuò)展意味著添加或刪除客戶端,工作站只會對性能產(chǎn)生輕微影響。垂直擴(kuò)展意味著遷移到更大更快的服務(wù)器計算機(jī)或多服務(wù)器中。

  C/S架構(gòu)的類型

  一層架構(gòu)

  在此類型C/S架構(gòu)設(shè)置中,用戶界面,營銷邏輯和數(shù)據(jù)邏輯存在于同一系統(tǒng)中。但是由于數(shù)據(jù)差異導(dǎo)致難以管理。例MP3播放器,MS Office都屬于單層應(yīng)用程序。

  兩層架構(gòu)

  在這種類型中,用戶界面存儲在客戶端機(jī)上,數(shù)據(jù)庫存儲在服務(wù)器上。數(shù)據(jù)庫邏輯和業(yè)務(wù)邏輯在客戶端或服務(wù)器上歸檔,但需要進(jìn)行維護(hù)。如果在客戶端收集業(yè)務(wù)邏輯和數(shù)據(jù)邏輯,則將其命名為胖客戶端瘦服務(wù)器體系結(jié)構(gòu)。如果在服務(wù)器上處理業(yè)務(wù)邏輯和數(shù)據(jù)邏輯,則稱為瘦客戶端胖服務(wù)器體系結(jié)構(gòu)。這被認(rèn)為是負(fù)擔(dān)得起的。

  在雙層體系結(jié)構(gòu)中,客戶端和服務(wù)器必須直接合并。如果客戶端向服務(wù)器提供輸入,則不應(yīng)該有任何中間件。這樣做是為了快速獲得結(jié)果并避免不同客戶之間的混淆。例如,在線票務(wù)預(yù)訂軟件使用這種雙層架構(gòu)。

  三層架構(gòu)

  在三層架構(gòu)中,需要使用到額外的中間件,這意味著客戶端請求需要通過該中間層進(jìn)入服務(wù)器,服務(wù)器的響應(yīng)首先由中間件接收,然后再接收到客戶端。中間件存儲所有業(yè)務(wù)邏輯和數(shù)據(jù)通道邏輯,中間件提高了靈活性并提供了最佳性能。

  三層結(jié)構(gòu)被分成三個部分,即表示層(客戶層),應(yīng)用層(業(yè)務(wù)層)和數(shù)據(jù)庫層(數(shù)據(jù)層)。客戶端系統(tǒng)管理表示層,應(yīng)用程序服務(wù)器負(fù)責(zé)應(yīng)用程序?qū),服?wù)器系統(tǒng)負(fù)責(zé)監(jiān)視數(shù)據(jù)庫層。

【PHP開發(fā)CS結(jié)構(gòu)的技巧】相關(guān)文章:

PHP常用開發(fā)工具分析06-27

20條PHP代碼優(yōu)化技巧05-06

為什么選php語言開發(fā)制作全站11-10

PHP中的Division by zero報錯處理技巧02-23

PHP常量介紹04-21

PHP變量介紹02-28

PHP的基本作用03-17

php環(huán)境搭建06-11

PHP基本語法04-29