- 相关推荐
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常用开发工具分析06-27
20条PHP代码优化技巧05-06
为什么选php语言开发制作全站11-10
PHP中的Division by zero报错处理技巧02-23
PHP常量介绍04-21
PHP变量介绍02-28
PHP的基本作用03-17
php环境搭建06-11
PHP基本语法04-29