高可靠性的 PHP 通信框架 OHSCE

码农软件 · 软件分类 · 常用工具包 · 2019-08-14 10:14:27

软件介绍

OHSCE高可靠性的PHP通信框架-.Open HI-REL Signal Communication Engine

PHP以太网(TCP/UDP/ICMP)、RS232、RS485通信,可广泛直接或桥接各种网络工程通信。 
特别合适于对可靠性要求较高、上位机与末端协同工作的场景。如物联网设备通信、智能化系统、工业与自动化系统、可靠网络服务器、中控&边控&驱动。 
可运行于Windows、Linux、OS X。对Windows提供了全项功能支持,与自动化生态亲和。 
不过分追求高性能,充分平衡了可靠性与高性能。 
天生支持分布式,可大规模部署。 
在保证您的网络可靠性的前提下能跑出强悍的性能。 
过程化函数风格的框架具备高效的特性。 
特别亲切于工业自动化工程师、硬件工程师、物联网工程师、追求效率的PHP工程师的写法风格。 
OHSCE开放源代码,在OHSCE授权协议框架下您可以免费使用!

     *采用高效的多进程模型,进程独立。

     *支持Windows平台串口完美读取(无需指定长度)。

     *支持Windows平台进程守护。

     *支持Windows平台进程间内存通信,小型数据内存中转。

 #即将支持多个进程同时伺服一个端口

快速入门

一、检查环境是否支持OHSCE

系统:Windows / Linux / OSX

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

PHP:5.3及以上

          建议PHP5.4及以上

PHP扩展:

           Sockets,Shmop,Curl

二、修改配置文件

           /config/oibc_sce_config.php

三、运行测试程序

3.1工作在以太网上

一个TCP服务端测试程序:

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); //开始运行

 

对应的客户端测试程序:

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:

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:

 

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测试程序:

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);

*内置简单串口服务器(透传):

http://www.ohsce.com/index.php/book/ohscezjcj/OHSCECOMSERVER-QS-101.html

*内置WABAPI串口服务器-WCA:

http://www.ohsce.com/index.php/book/ohscezjcj/OHSCEWCA-QS-103.html

3.3测试使用OHSCE的进程守护

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

sleep(60);
exit;

 

编写OHSCE-PCENTER入口文件:

$ohsce_pcenter_pr_name='测试';
$ohsce_pcenter_pr_prun='\pexample.php';
$ohsce_pcenter_memmorykey=6901;//注意 不得与生成器冲突,否则请提前注册。

 

启动并守护这个进程

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

3.4.1CLOUD_API 
3.4.2 CLOUD_MODBUS_DRIVE  通过OHSCE云API数据支持调用本地驱动应用本机串口对MODBUS-RTU设备进行施控。
Ohsce_drive_cloud_modbus($comlink,"RTU","01",'01',"40001","0002"); 

本文地址:https://www.codercto.com/soft/d/12333.html

Algorithms and Data Structures

Algorithms and Data Structures

Kurt Mehlhorn、Peter Sanders / Springer / 2008-08-06 / USD 49.95

Algorithms are at the heart of every nontrivial computer application, and algorithmics is a modern and active area of computer science. Every computer scientist and every professional programmer shoul......一起来看看 《Algorithms and Data Structures》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

随机密码生成器
随机密码生成器

多种字符组合密码

html转js在线工具
html转js在线工具

html转js在线工具