这篇文章主要介绍了服务器端编程语言(专业超文本预处理器的缩写)中(电源)插座的用法,详细讲述了服务器端编程语言(专业超文本预处理器的缩写)进行(电源)插座通信的完整步骤,非常具有参考借鉴价值,需要的朋友可以参考下
本文实例详细讲述了服务器端编程语言(专业超文本预处理器的缩写)中(电源)插座的用法,分享给大家供大家参考。具体用法如下:
一、开启socket
phpinfo();查看是否开启了(电源)插座扩展,否则在php.ini中开启。
二、服务器端代码的写法
复制代码代码如下:服务器端编程语言(专业超文本预处理器的缩写)
错误报告(E _ ALL);
set _ time _ limit(0);
//ob _ implicit _ flush();
$ address= 127。0 .0 .1 ;
$ port=10005
//创建端口
if(($ SOCK=socket _ create(AF _ INET,SOCK_STREAM,SOL_TCP))===false) {
echo socket_create()失败:原因:。socket _ strerror(socket _ last _ error()). n ;
}
//绑定
if (socket_bind($sock,$address,$ port)==false){
echo"socket _ bind()失败:原因:""。socket _ strerror(socket _ last _ error($ sock)). n ;
}
//监听
if (socket_listen($sock,5)==false){
echo"socket _ bind()失败:原因:""。socket _ strerror(socket _ last _ error($ sock)). n ;
}
做{
//得到一个链接
if(($ msg sock=socket _ accept($ sock))===false){
echo socket_accepty()失败:原因:。socket _ strerror(socket _ last _ error($ sock)). n ;
打破;
}
//欢迎发送到客户端
$ msg= font color= red server send:welcome/font br/;
socket_write($msgsock,$msg,strlen($ msg));
回声”读取客户端消息 n ";
$buf=socket_read($msgsock,8192);
$ talk back= received message:$ buf n ;
echo $对讲
if(false===socket _ write($ msg sock,$talkback,strlen($talkback))) {
echo socket_write()失败原因:。socket _ strerror(socket _ last _ error($ sock)). n ;
}否则{
回显"发送成功";
}
socket _ close($ msg sock);
}而(真);
//关闭(电源)插座
socket _ close($ sock);
?
服务器端需要在硬币指示器(硬币水平指示器的缩写)命令行界面(批处理脚本的命令行界面)模式是执行,有可能硬币指示器(硬币水平指示器的缩写)命令行界面(批处理脚本的命令行界面)模式下php.ini文件载入的不一样
可以像如下输出:
这时候在卓克斯目录下就有个项目文本文件。查看配置文件(php.ini) Path=C:WINDOWS。不是我的php.ini文件,这说明调用的php.ini文件时错误的。这时候我们要指定php.ini文件命令如下
注意的是我的服务器端编程语言(专业超文本预处理器的缩写)可以直接执行时配置了环境变量。
三、客户端
复制代码代码如下:服务器端编程语言(专业超文本预处理器的缩写)
//error _ reporting(E _ ALL);
回声”H2 TCP/IP连接/H2 n ";
$ service _ port=10005
$ address= 127。0 .0 .1 ;
$socket=socket_create(AF_INET,SOCK_STREAM,SOL _ TCP);
if ($socket===false) {
echo socket_create()失败:原因:。socket _ strerror(socket _ last _ error()). n ;
}否则{
回声好的. n ;
}
“回声”试图连接到端口" $服务端口"."上的”$ address”;
$result=socket_connect($socket,$address,$ service _ port);
if($result===false) {
echo socket_connect()失败% 22 n原因:($result).socket _ strerror(socket _ last _ error($ socket)). n ;
}否则{
回显”确定 n”;
}
$ in= HEAD/http/1.1 r n ;
美元在.= HOST:localhost r n ;
美元在.=连接:关闭 r n r n ;
$ out=
回声发送http头请求.;
socket_write($socket,$in,strlen($ in));
回显”确定 n”;
“回声”读取响应: n n ";
while ($out=socket_read($socket,8192)) {
echo $ out
}
回声关闭插座.;
socket _ close($ socket);
回声好的“. n n”;
执行结果如下:
服务器:
客户:
希望本文所述对大家的服务器端编程语言(专业超文本预处理器的缩写)程序设计有所帮助。