首先,我觉得这个功能跟php已经没啥大关系了,因为php是在服务器端而你需要的是浏览器来获取数据。

解决方案 »

  1.   

    作个ActiveX拉。把收集到的数据送到php来处理
      

  2.   

    浏览器执行js代码,也就是说问题就变成怎么样通过javascript来调用com端口读取数据。至于守侯进程,如果效率要求不是很高的话,用setInterval();应该可以实现。
      

  3.   

    你可以在服务器端使用socket监听本地端口,将得到的数据存入数据库,再建立一个数据展示的页面,可以设定定时刷新,这样客户端就可以通过浏览器得到服务器的端口信息。
      

  4.   

    ActiveX 做好了, “现有一个控件可以打开、监听、并接收端口数据, VC、vb 等都可以实现”, 现在的问题是怎么用到这里来呢?呵呵, jetxt(擦肩而过) 一说也有点醒悟过来,似乎浏览器端和php 没啥关系,要调用也只能通过 js 调用, 但是js 能调用 这个本地的控件么?在服务器端使用socket监听本地端口, 这个又是怎么做? 参考一下 ~
      

  5.   

    有ActiveX的话。就用js把ActiveX上的数据发给一个服务器程序来处理拉。你可以用VC,VB之类也可以用php、asp。net之类都行啊。用post或是Ajax的方式发送数据
      

  6.   

    zeroleonhart(Strong Point:Algorithm)
    我印象中是第一次用中文说话,哈哈。不知道你的ActiveX控件能否被javascript调用并读取数据,可以的话就能用ajax将数据发送给服务器端的php处理了
      

  7.   

    如何判断ActiveX控件是否可被 js 调用?
    一般来讲,要么都是可以的,要都是不可以的把?
    难道还是 一部分 ActiveX 控件可以,有的又是不可以?另外,
    关于 js 调用 控件,
    还望指点 1 2:
    http://community.csdn.net/Expert/topic/4922/4922629.xml?temp=.9950525能给个例子, 就最好不过了 ^_^
      

  8.   

    在服务器端使用socket监听本地端口, 这个又是怎么做? 参考一下 ~-----------------------------------------------
    Here is an example in php manual:#!/usr/local/bin/php -q
    <?php
    error_reporting(E_ALL);/* Allow the script to hang around waiting for connections. */
    set_time_limit(0);/* Turn on implicit output flushing so we see what we're getting
     * as it comes in. */
    ob_implicit_flush();$address = '127.0.0.1';
    $port = 10000;if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) < 0) {
        echo "socket_create() failed: reason: " . socket_strerror($sock) . "\n";
    }if (($ret = socket_bind($sock, $address, $port)) < 0) {
        echo "socket_bind() failed: reason: " . socket_strerror($ret) . "\n";
    }if (($ret = socket_listen($sock, 5)) < 0) {
        echo "socket_listen() failed: reason: " . socket_strerror($ret) . "\n";
    }do {
        if (($msgsock = socket_accept($sock)) < 0) {
            echo "socket_accept() failed: reason: " . socket_strerror($msgsock) . "\n";
            break;
        }
        /* Send instructions. */
        $msg = "\nWelcome to the PHP Test Server. \n" .
            "To quit, type 'quit'. To shut down the server type 'shutdown'.\n";
        socket_write($msgsock, $msg, strlen($msg));    do {
            if (false === ($buf = socket_read($msgsock, 2048, PHP_NORMAL_READ))) {
                echo "socket_read() failed: reason: " . socket_strerror($ret) . "\n";
                break 2;
            }
            if (!$buf = trim($buf)) {
                continue;
            }
            if ($buf == 'quit') {
                break;
            }
            if ($buf == 'shutdown') {
                socket_close($msgsock);
                break 2;
            }
            $talkback = "PHP: You said '$buf'.\n";
            socket_write($msgsock, $talkback, strlen($talkback));
            echo "$buf\n";
        } while (true);
        socket_close($msgsock);
    } while (true);socket_close($sock);
    ?>
      

  9.   

    当接收到数据时会自动触发OnComm事件
    ==================================
    JS 中如何操作?这个事件是封装在 ActiveX 控件中的 ....
      

  10.   

    这个是可以的。
    在PHP中可以调用COM组建,也可以调用.NET组建,也可以调用Java Class,都可以实现本地和WEB互动。 相关细节请参阅PHP手册。
      

  11.   

    在 js 中,
    能否自定义事件?
    这个自定义不是说自定义实现,是整个事件都自定义,
    包括触发。比如 定义一个事件是 oncomm,
    在 com 端口有数据进来时候被触发 ....这样可否?