千家信息网

基于PHP Socket配置的示例分析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要为大家展示了"基于PHP Socket配置的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"基于PHP Socket配置的示例分析"这篇
千家信息网最后更新 2026年11月01日基于PHP Socket配置的示例分析

这篇文章主要为大家展示了"基于PHP Socket配置的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"基于PHP Socket配置的示例分析"这篇文章吧。

2个php测试文件
server.php

复制代码 代码如下:


//phpinfo();
//确保在连接客户端时不会超时
set_time_limit(0);
$ip = '127.0.0.1';
$port = 1935;
/*
+-------------------------------
* @socket通信整个过程
+-------------------------------
* @socket_create
* @socket_bind
* @socket_listen
* @socket_accept
* @socket_read
* @socket_write
* @socket_close
+--------------------------------
*/
/*---------------- 以下操作都是手册上的 -------------------*/
if(($sock = socket_create(AF_INET,SOCK_STREAM,SOL_TCP)) < 0) {
echo "socket_create() 失败的原因是:".socket_strerror($sock)."\n";
}
if(($ret = socket_bind($sock,$ip,$port)) < 0) {
echo "socket_bind() 失败的原因是:".socket_strerror($ret)."\n";
}
if(($ret = socket_listen($sock,4)) < 0) {
echo "socket_listen() 失败的原因是:".socket_strerror($ret)."\n";
}
$count = 0;
do {
if (($msgsock = socket_accept($sock)) < 0) {
echo "socket_accept() failed: reason: " . socket_strerror($msgsock) . "\n";
break;
} else {

//发到客户端
$msg ="测试成功!\n";
socket_write($msgsock, $msg, strlen($msg));

echo "测试成功了啊\n";
$buf = socket_read($msgsock,8192);


$talkback = "收到的信息:$buf\n";
echo $talkback;

if(++$count >= 5){
break;
};


}
//echo $buf;
socket_close($msgsock);
} while (true);
socket_close($sock);
?>


client.php

复制代码 代码如下:


error_reporting(E_ALL);
set_time_limit(0);
echo "

TCP/IP Connection

\n";
$port = 1935;
$ip = "127.0.0.1";
/*
+-------------------------------
* @socket连接整个过程
+-------------------------------
* @socket_create
* @socket_connect
* @socket_write
* @socket_read
* @socket_close
+--------------------------------
*/
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket < 0) {
echo "socket_create() failed: reason: " . socket_strerror($socket) . "\n";
}else {
echo "OK.\n";
}
echo "试图连接 '$ip' 端口 '$port'...\n";
$result = socket_connect($socket, $ip, $port);
if ($result < 0) {
echo "socket_connect() failed.\nReason: ($result) " . socket_strerror($result) . "\n";
}else {
echo "连接OK\n";
}
$in = "Ho\r\n";
$in .= "first blood\r\n";
$out = '';
if(!socket_write($socket, $in, strlen($in))) {
echo "socket_write() failed: reason: " . socket_strerror($socket) . "\n";
}else {
echo "发送到服务器信息成功!\n";
echo "发送的内容为:$in
";
}
while($out = socket_read($socket, 8192)) {
echo "接收服务器回传信息成功!\n";
echo "接受的内容为:",$out;
}
echo "关闭SOCKET...\n";
socket_close($socket);
echo "关闭OK\n";
?>


侦听
# /usr/local/php/bin/php /usr/local/apache2/htdocs/server.php

请求
# /usr/local/php/bin/php /usr/local/apache2/htdocs/client.php

默认PHP是没有开启Socket的

#cd ./ext/sockets/
# /usr/local/php/bin/phpize
# ./configure --enable-sockets --with-php-config=/usr/local/php/bin/php-config
# make
# make install

php.ini修改配置
增加
extension=sockets.so

重启apache
# /usr/local/apache2/bin/apachectl restart

===================
Windows下的配置
修改php.ini
extension=php_sockets.dll
重启apache
cmd下起2个
php的安装目录

C:/php/php.exe F:web/server.php
C:/php/php.exe F:web/client.php

以上是"基于PHP Socket配置的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

配置 内容 成功 代码 示例 分析 信息 原因 篇文章 测试 客户 客户端 服务器 过程 学习 帮助 服务 手册 文件 易懂 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 江苏根荣互联网科技 科技互联网政务服务 互联网与科技发展 互联网与新科技 杭州互联网科技公司 时间互联网络科技 奔汉互联网科技 菲比寻常互联网科技 互联网科技生活的内容 广州慧亚互联网科技怎么样 中国互联网有什么科技含量 湖南诚度互联网科技有限公司 科技类公司包括互联网吗 众安科技工业互联网合作 互联网安防科技感 广州燕处互联网科技有限公司 珠海东科互联网科技有限公司 江苏互联网智能科技产品出厂价 互联网科技和医药行业 高科技和互联网的现代国家 华服互联网科技怎么样 汇久创客互联网科技 上海万想互联网科技 深圳卡尔迅互联网科技有限公司怎么样 天津腾达互联网科技有限公司 互联网科技圈年度人物 沐思想互联网科技有限公司 北京市互联网新科技 半导体行业属于互联网高科技类吗 广州全民伙伴互联网科技有限公司
0