加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php中Socket创建与监听实现方法

发布时间:2020-12-13 02:19:28 所属栏目:PHP教程 来源:网络整理
导读:《:php中Socket创建与监听实现方法》要点: 本文介绍了:php中Socket创建与监听实现方法,希望对您有用。如果有疑问,可以联系我们。 本篇章节讲解php中Socket创建与监听实现办法.供大家参考研究.具体如下: PHP应用 这里提供了在php中socket相关函

《:php中Socket创建与监听实现方法》要点:
本文介绍了:php中Socket创建与监听实现方法,希望对您有用。如果有疑问,可以联系我们。

本篇章节讲解php中Socket创建与监听实现办法.分享给大家供大家参考.具体如下:PHP应用

这里提供了在php中socket相关函数的一个实例,如创建Socket,接受一个socket连接,写入一个Socket及初始化连接等操作,具体实例代码如下:

代码如下:
$ip="127.0.0.1";????????? //定义ip地址
$port=1000;?????????? //定义端口
$socket=socket_create(af_inet,sock_stream,sol_tcp);? //创建socket
$bind=socket_bind($socket,$ip,$prot);????? //绑定一个socket
$listen=socket_listen($socket);??????? //监听socket
$msg=socket_accept($socket);??????? //接受一个socket连接
$welcome="欢迎来到php服务/n";?????? //定义字符串
socket_write($msg,$welcome,strlen($welcome));??? //写入一个socket
socket_close($socket);???????? //关闭socket
?
*/
?
$ip="127.0.0.1";????????? //定义ip地址
$port=1000;?????????? //定义端口
$socket=socket_create(af_inet,sol_tcp);? //创建socket
socket_clear_error($socket);??????? //清空socket错误信息
socket_close($socket);???????? //关闭socket
?
/*
?
*/
$sockets=array();?????????? //定义一个数组
/*建立一对socket,并存储在数组中*/
if(!socket_create_pair(af_unix,$sockets))?? //如果socket没有成功创建
{
? echo socket_strerror(socket_last_error());????? //输出错误信息
}
/*使用创建的socket收发信息*/
if(!socket_write($sockets[0],"abcdef123n",strlen("abcdef123n")))? //如果执行socket写失败
{
? cho socket_strerror(socket_last_error());????? //输出错误信息
}
if(!$data=socket_read($sockets[1],strlen("abcdef123n"),php_binary_read)) //如果读取信息失败
{
? echo socket_strerror(socket_last_error());????? //输出错误信息
}
var_dump($data);?????????? //输出socket数据信息
/*关闭socket*/
socket_close($sockets[0]);???????? //关闭socket1
socket_close($sockets[1]);???????? //关闭socket2
?
/*
*/
?
$ip="127.0.0.1";????????? //定义ip地址
$port=1000;?????????? //定义端口
$socket=socket_create(af_inet,sol_tcp);? //创建socket
socket_set_nonblock($socket);??????? //设置不锁定状态
socket_connect($socket,$port);?????? //初始化连接
socket_set_block($sock);???????? //锁定socket
switch(socket_select($r=array($socket),$w=array($socket),$f=array($socket),5))
{
? case 2:
??? echo "连接被拒绝!n";
??? break;
? case 1:
??? echo "成功连接n";
??? break;
? case 0:
??? echo "连接超时n";
??? break;
}
?
/*
?
*/
?
/*以下代码定义一个socket监听类*/
class socketlistener extends socket
{
? function __construct($port=null)??????? //定义__construct办法
? {
??? $this->stream=@socket_create_listen($port?$port:port);?? //打开端口接受连接
? }
? function isactive()?????????? //定义isactive办法
? {
??? if($this->stream)?????????? //如果有连接
??? {
????? return true;?????????? //返回真值
??? }
??? else???????????? //无连接
??? {
????? return false;?????????? //返回假值
??? }
? }
}

希望本文所述对大家的php程序设计有所帮助.

欢迎参与《:php中Socket创建与监听实现方法》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读