牛骨文教育服务平台(让学习变的简单)

快速入门

快速入门

一、检查环境是否支持OHSCE

系统:Windows / Linux / OSX

          建议:WINDOWSSERVER2008及以上 UbuntuServer14.04LTS及以上

PHP:5.4及以上

          建议PHP5.4.28及以上

PHP扩展:

           Socket,Shmop,Curl

二、修改配置文件

           /config/oibc_sce_config.php

三、运行测试程序

3.1工作在以太网上

一个TCP服务端测试程序:

<?php
ini_set("memory_limit","88M");//重置php可以使用的内存大小为64M
set_time_limit(0);
ob_implicit_flush(1);
i n c l u d e("loadohsce.php");
$trya="ohsce_server_Example ";
function example(&$socket,$buf,$len,$zv){ //收到数据时的回调函数
global $trya;
echo $buf;
Ohsce_socketwrite($socket,$trya."hi ".$buf);
return true;
}
function exampleaccept(&$socket,$ip,$port,$zv){ //新客户端到访时的回调函数
global $trya;
Ohsce_socketwrite($socket,$trya."Welcome".$ip.":".$port);
return true;
}
Ohsce_eng_socket_server($ohsceserver,"tcp",7626,"127.0.0.1","example","exampleaccept");//创建一个TCP服务端资源 绑定127.0.0.1:7626 并传入回调函数
Ohsce_eng_socket_server_runtcp($ohsceserver); //开始运行
对应的客户端测试程序:

<?php
ini_set("memory_limit","88M");//重置php可以使用的内存大小为64M
set_time_limit(0);
ob_implicit_flush(1);
i n c l u d e("loadohsce.php");
Ohsce_eng_socket_client($ohsceclient,"tcp",7626,"127.0.0.1"); //创建一个TCP客户端资源并连接27.0.0.1:7626
echo Ohsce_socketread($ohsceclient["socket"],1024)[1]; //收取欢迎信息
Ohsce_socketsend($ohsceclient["socket"],"hello"); //发送数据
echo Ohsce_socketread($ohsceclient["socket"],1024)[1]; //收取回复数据
sleep(30);


UDP:

udpserver.php

<?php
ini_set("memory_limit","88M");//重置php可以使用的内存大小为88M
set_time_limit(0);
ob_implicit_flush(1);
i n c l u d e("loadohsce.php");
$trya="ohsce_server_Example ";
function example(&$socket,$buf,$from,$port,$zv){ //收到数据时的回调函数

global $trya;
echo $buf;
 Ohsce_socketsend($socket,$trya."hi ".$buf,0,0,$from,$port);
return true;

}
Ohsce_eng_socket_server($ohsceserver,"udp",7626,"127.0.0.1","example");//创建一个TCP服务端资源 绑定127.0.0.1:7626 并传入回调函数
@Ohsce_eng_socket_server_runudp($ohsceserver); //开始运行
UDPCLIENT:
<?php
ini_set("memory_limit","88M");//重置php可以使用的内存大小为64M
set_time_limit(0);
ob_implicit_flush(1);
i n c l u d e("loadohsce.php");
Ohsce_eng_socket_client($ohsceclient,"udp",7628); //创建一个TCP客户端资源并连接27.0.0.1:7626
Ohsce_socketsend($ohsceclient["socket"],"hello",0,0,"127.0.0.1",7626);
Ohsce_socketrecvfrom($ohsceclient["socket"],$buf,0,0,$from,$port); //收取回复数据
echo $buf."|".$from.":".$port;
sleep(30);

3.2工作在工业自动化现场控制网络上

操作串口RS232/485测试程序:

<?php
ini_set("memory_limit","88M");//重置php可以使用的内存大小为64M
set_time_limit(0);
ob_implicit_flush(1);
i n c l u d e("loadohsce.php");
Ohsce_eng_serial_creat($hscecom,"com7"); //OHSCE会默认为你创建一个 9600,n,8,1 写读的串口资源
Ohsce_eng_serial_open($hscecom); //一旦通过该函数成功开启了串口,此串口就被OHSCE进程占用了 此时串口资源变为可用状态
Ohsce_eng_serial_write($hscecom,"01030001000415c9",true);//向串口设备发送数据 以16进制发送
Ohsce_eng_serial_read($hscecom,$data,null,true); // 读取串口数据 返回数据长度为未知 以16进制返回
echo $data; //输出数据
sleep(30);


3.2.2测试串口服务器:

将电气接口转为TCP/IP服务

3.3测试使用OHSCE的进程守护

我们先写一个无用的自杀进程

<?php
sleep(60);
exit;

编写OHSCE-PCENTER入口文件:

<?php
$ohsce_pcenter_pr_name="测试";
$ohsce_pcenter_pr_prun="pexample.php";
$ohsce_pcenter_memmorykey=6901;//注意 不得与生成器冲突,否则请提前注册。
启动并守护这个进程

正式运行使用隐藏窗口模式。

不断完善中,感谢支持。

GITHUB:https://github.com/OpenIBC/Ohsce