本文详细介绍了套接字在PHP中的使用,并与大家分享,供大家参考:
首先,打开套接字
Phpinfo();如果套接字扩展打开或打开php.ini否则。
两。服务器端代码的编写方法
复制代码代码如下:< PHP
error_reporting(e_all);
(0)set_time_limit;
/ / ob_implicit_flush();
$地址= '127.0.0.1;
$端口= 10005;
创建端口
如果(($袜子= socket_create(af_inet,sock_stream,sol_tcp))= = = false){
回声socket_create()失败:原因:。socket_strerror(socket_last_error())。;
}
绑定
如果(socket_bind(美元美元美元的袜子,地址,端口)= false){
回声socket_bind()失败:原因:。socket_strerror(socket_last_error($袜子))。;
}
监视器
如果(socket_listen(美元的袜子,5)= = = false){
回声socket_bind()失败:原因:。socket_strerror(socket_last_error($袜子))。;
}
{做
获取链接
如果(($ msgsock = socket_accept($袜子))= = = false){
回声socket_accepty()失败:原因:。socket_strerror(socket_last_error($袜子))。;
打破;
}
欢迎发送到客户机
$服务器发送:欢迎;
socket_write(msgsock美元美元,味精,strlen($味精));
echo'read客户端消息';
但美元= socket_read(msgsock美元,8192);
美元=收到消息对讲:$ buf ;
echo对讲;
如果(假= socket_write(msgsock美元美元,对讲,strlen($对讲))){
回声socket_write()失败的原因:。socket_strerror(socket_last_error($袜子))。;
{人}
echo'send成功;
}
socket_close($ msgsock);
}(true);
关闭套接字
socket_close(美元的袜子);
>
服务器端需要在命令行模式下执行,这是可能的,ini文件中加载的CLI模式。
它可以输出如下:
在这个时候,在zhoxh目录tem.text文件。请检查配置文件(PHP INI)路径= C: windows.not我的php.ini文件,这表明php.ini文件称为是错误的。在这个时候,我们必须指定php.ini文件命令如下
重要的是要注意,我的PHP能够在直接执行环境变量时配置它。
三,客户机
复制代码代码如下:< PHP
/ / error_reporting(e_all);
回声TCP/IP连接;
service_port = 10005美元;
$地址= '127.0.0.1;
$插座= socket_create(af_inet,sock_stream,sol_tcp);
如果($ = false){
回声socket_create()失败:原因:。socket_strerror(socket_last_error())。;
{人}
OK。;
}
回声试图连接到端口的address'on美元美元service_port '…;
结果= socket_connect(美元美元美元美元的插座,地址,service_port);
如果($ = false){
回声socket_connect()失败。原因:(结果)。socket_strerror(socket_last_error(合穴))。;
{人}
OK;
}
1.1;
主持人:localhost美元 R。;
$连接:关闭;
=$;
发送HTTP头请求;
socket_write($美元,插座,strlen($));
OK;
读取响应:;
而($ = socket_read($插座,8192)){
回波输出;
}
回声闭插座..;
socket_close(合穴);
。;
执行的结果如下:
服务器:
客户端:
希望本文能对大家的PHP程序设计有所帮助。