B/S 本地调用可以实现否? 首先,我觉得这个功能跟php已经没啥大关系了,因为php是在服务器端而你需要的是浏览器来获取数据。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 作个ActiveX拉。把收集到的数据送到php来处理 浏览器执行js代码,也就是说问题就变成怎么样通过javascript来调用com端口读取数据。至于守侯进程,如果效率要求不是很高的话,用setInterval();应该可以实现。 你可以在服务器端使用socket监听本地端口,将得到的数据存入数据库,再建立一个数据展示的页面,可以设定定时刷新,这样客户端就可以通过浏览器得到服务器的端口信息。 ActiveX 做好了, “现有一个控件可以打开、监听、并接收端口数据, VC、vb 等都可以实现”, 现在的问题是怎么用到这里来呢?呵呵, jetxt(擦肩而过) 一说也有点醒悟过来,似乎浏览器端和php 没啥关系,要调用也只能通过 js 调用, 但是js 能调用 这个本地的控件么?在服务器端使用socket监听本地端口, 这个又是怎么做? 参考一下 ~ 有ActiveX的话。就用js把ActiveX上的数据发给一个服务器程序来处理拉。你可以用VC,VB之类也可以用php、asp。net之类都行啊。用post或是Ajax的方式发送数据 zeroleonhart(Strong Point:Algorithm)我印象中是第一次用中文说话,哈哈。不知道你的ActiveX控件能否被javascript调用并读取数据,可以的话就能用ajax将数据发送给服务器端的php处理了 如何判断ActiveX控件是否可被 js 调用?一般来讲,要么都是可以的,要都是不可以的把?难道还是 一部分 ActiveX 控件可以,有的又是不可以?另外,关于 js 调用 控件,还望指点 1 2:http://community.csdn.net/Expert/topic/4922/4922629.xml?temp=.9950525能给个例子, 就最好不过了 ^_^ 在服务器端使用socket监听本地端口, 这个又是怎么做? 参考一下 ~-----------------------------------------------Here is an example in php manual:#!/usr/local/bin/php -q<?phperror_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);?> 当接收到数据时会自动触发OnComm事件==================================JS 中如何操作?这个事件是封装在 ActiveX 控件中的 .... 这个是可以的。在PHP中可以调用COM组建,也可以调用.NET组建,也可以调用Java Class,都可以实现本地和WEB互动。 相关细节请参阅PHP手册。 在 js 中,能否自定义事件?这个自定义不是说自定义实现,是整个事件都自定义,包括触发。比如 定义一个事件是 oncomm,在 com 端口有数据进来时候被触发 ....这样可否? 谁能看看我的这个Java计算器 缺少对象document.getElementById("top").style.height=screen.height/5+"px;"; JSONObject js:select 大哥,大姐们,帮忙下了,出错了 java树形菜单案例 如何用javascript获得上个页面传入的变量? 怎么样用JAVASCRIPT 判断客户端默认主页!! 我有个难题……?! 一段js脚本代码 在两个服务器这间做页面集成时怎么实现在B服务器页面中用JS把一个值返回到A服务器? 如何释放对象?急
我印象中是第一次用中文说话,哈哈。不知道你的ActiveX控件能否被javascript调用并读取数据,可以的话就能用ajax将数据发送给服务器端的php处理了
一般来讲,要么都是可以的,要都是不可以的把?
难道还是 一部分 ActiveX 控件可以,有的又是不可以?另外,
关于 js 调用 控件,
还望指点 1 2:
http://community.csdn.net/Expert/topic/4922/4922629.xml?temp=.9950525能给个例子, 就最好不过了 ^_^
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);
?>
==================================
JS 中如何操作?这个事件是封装在 ActiveX 控件中的 ....
在PHP中可以调用COM组建,也可以调用.NET组建,也可以调用Java Class,都可以实现本地和WEB互动。 相关细节请参阅PHP手册。
能否自定义事件?
这个自定义不是说自定义实现,是整个事件都自定义,
包括触发。比如 定义一个事件是 oncomm,
在 com 端口有数据进来时候被触发 ....这样可否?