当前位置: 首页>>代码示例>>PHP>>正文


PHP select::can_read方法代码示例

本文整理汇总了PHP中select::can_read方法的典型用法代码示例。如果您正苦于以下问题:PHP select::can_read方法的具体用法?PHP select::can_read怎么用?PHP select::can_read使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在select的用法示例。


在下文中一共展示了select::can_read方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: array

$check_socks = array($listen_sock);
// 映射客户端socket和服务端socket
// $socket_maps1将客户端socket作为key
// $socket_maps2将服务端socket作为key
// 以内存换速度,并且方便下面的搜索
$socket_maps1 = array();
$socket_maps2 = array();
// 实例化select类
$select = new select($check_socks);
while (true) {
    /*
    print_r( $socket_maps );
    print "<br />";
    */
    // select轮询,超时2秒
    foreach ($select->can_read(1) as $socket) {
        // listen_sock可读,说明有人连接上来了
        if ($socket == $listen_sock) {
            // 接受新连接,并加入到轮训数组
            $new_client = socket_accept($listen_sock);
            $select->add($new_client);
            socket_getpeername($new_client, $ip, $port);
            echo "New client connected: {$ip}, {$port}<br />";
            // 建立到真实服务器的socket
            $server_sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
            socket_connect($server_sock, "127.0.0.1", $listen_port);
            // 建立真实服务器socket和真实客户端socket之间的映射关系
            $socket_maps1[$new_client] = $server_sock;
            $socket_maps2[$server_sock] = $new_client;
            // 添加到select轮询中
            $select->add($server_sock);
开发者ID:xl7dev,项目名称:WebShell,代码行数:31,代码来源:sniffer.php


注:本文中的select::can_read方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。