快速入门 一、检查环境是否支持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); ![](https://box.kancloud.cn/2866663568ac7d11d2a94f1f0fbc24b3_1138x581.gif) 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); ![](https://box.kancloud.cn/e07042fbe1e3ea551662568b403a045b_1138x581.gif) 3.2.2测试串口服务器: 将电气接口转为TCP/IP服务 ![](https://box.kancloud.cn/11742f1251690d1f172c70d6aaea69fc_1072x611.gif) 3.3测试使用OHSCE的进程守护 我们先写一个无用的自杀进程 <?php sleep(60); exit; 编写OHSCE-PCENTER入口文件: <?php $ohsce_pcenter_pr_name='测试'; $ohsce_pcenter_pr_prun='\pexample.php'; $ohsce_pcenter_memmorykey=6901;//注意 不得与生成器冲突,否则请提前注册。 启动并守护这个进程 ![](https://box.kancloud.cn/d7a86c0c5e07856a13660bf1d5cae5d1_1138x581.gif) 正式运行使用隐藏窗口模式。 不断完善中,感谢支持。 GITHUB:https://github.com/OpenIBC/Ohsce