首页 » 网站推广 » phpselectarray技巧_68php select案例

phpselectarray技巧_68php select案例

访客 2024-11-26 0

扫一扫用手机浏览

文章目录 [+]

socket_select( array &$read, array &$write, array &$except, int $tv_sec[, int $tv_usec = 0] )

个中,

phpselectarray技巧_68php select案例

$read存放可读的socket凑集,即遍历那些socket读缓冲区不为空

phpselectarray技巧_68php select案例
(图片来自网络侵删)

$write存放可写socket凑集,即遍历哪些socket写缓冲区为空

$except打消不进行遍历监听的socket凑集

$tv_sec韶光,单位为秒

$tv_usec韶光,单位为奇妙

默认情形,socket_select根据设置的($tv_sec+$tv_usec)进行壅塞,如都为零,则不壅塞立即返回

2、案例

创建一个tcp做事端.再利用telnet作为客户端进行测试

2.1、源码

<?php

/

Copyright (C) Iamasb

@project : 3、workerman干系知识点

@explain : select函数利用

@filename : 33、select函数利用.php

@author : xiaobei

/

// 创建tcp

if (!($resource = socket_create(AF_INET,SOCK_STREAM,SOL_TCP))) {

echo \公众socket create is error\"大众;

exit();

}

// 绑定当前主机和端口

if (!socket_bind($resource,'0.0.0.0','1234')) {

echo \"大众socket bind is error\"大众;

exit();

}

// 启动监听

if (!socket_listen($resource)) {

echo \"大众socket listen is error\"大众;

exit();

}

// 设置端口复用

if (!socket_set_option($resource, SOL_SOCKET, SO_REUSEADDR, 1)) {

echo 'Unable to set option on socket: '. socket_strerror(socket_last_error()) . PHP_EOL;

exit;

}

$read[] = $resource;

$write = NULL;

$except = NULL;

$start = \"大众welcome to!\r\n\"大众;

$end = \"大众good bye \r\n\"大众;

while (true) {

$rst = $read;

socket_select($rst,$write,$except,0);

if (count($rst)) {

foreach ($rst as $value) {

// 判断是否是主socket,还是子socket

if ($value === $resource) {

$client = socket_accept($resource);

socket_write($client,$start,strlen($start));

$read[] = $client;

} else {

$str = trim(socket_read($value,1024));

if ($str == \"大众quit\公众) {

socket_write($value,$end,strlen($end));

socket_close($value);

$key = array_search($value,$read);

unset($read[$key]);

echo \公众client->\"大众,$key,\公众--> close.\公众;

}

echo \公众receive-> \"大众,$str,PHP_EOL;

}

}

}

}

2.2、测试

启动tcp做事端telnet进行连接

tcp做事端

3、总结

由上面的运行结果,可以看出,当某个telnet发起数据交互时,做事端都能够及时进行处理。
而不用等到一个socket处理完毕后,再进行。
这样大大提升了通信效率

标签:

相关文章

大数据单飞,引领未来科技发展的新航向

随着科技的飞速发展,大数据已成为国家战略资源,对经济社会发展的推动作用日益凸显。近年来,我国在大数据领域取得了举世瞩目的成就,大数...

网站推广 2024-12-17 阅读0 评论0

大数据合谋,介绍信息时代的隐形威胁

随着互联网的快速发展,大数据已成为当今时代的重要资源。在享受大数据带来的便利的我们也不得不面对大数据合谋这一隐形威胁。本文将从大数...

网站推广 2024-12-17 阅读0 评论0

大数据四驱,驱动未来商业变革的引擎

在互联网高速发展的时代,大数据已经成为各行各业关注的焦点。随着数据采集、处理和分析技术的不断进步,大数据在商业领域的应用越来越广泛...

网站推广 2024-12-17 阅读0 评论0

大数据图画,解码未来,探索无限可能

在当今这个信息化时代,大数据已经成为了我们生活中不可或缺的一部分。而大数据图画,作为大数据的一种直观表现形式,更是以其独特的魅力,...

网站推广 2024-12-17 阅读0 评论0

大数据圈子,未来企业发展的驱动力

随着互联网技术的飞速发展,大数据已经成为各行各业关注的焦点。大数据圈子作为我国大数据产业的重要一环,正引领着企业走向智能化、高效化...

网站推广 2024-12-17 阅读0 评论0