php中socket的用法详解

php中socket的用法详解

这篇文章主要介绍了服务器端编程语言(专业超文本预处理器的缩写)中(电源)插座的用法,详细讲述了服务器端编程语言(专业超文本预处理器的缩写)进行(电源)插座通信的完整步骤,非常具有参考借鉴价值,需要的朋友可以参考下

本文实例详细讲述了服务器端编程语言(专业超文本预处理器的缩写)中(电源)插座的用法,分享给大家供大家参考。具体用法如下:

一、开启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”;

执行结果如下:

服务器:

客户:

希望本文所述对大家的服务器端编程语言(专业超文本预处理器的缩写)程序设计有所帮助。

php中socket的用法详解