Files
xinhu/include/chajian/socketChajian.php
2022-08-14 16:47:40 +08:00

68 lines
1.8 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
class socketChajian extends Chajian
{
//UDP服务器主机不需要修改
private $serverhost = '127.0.0.1';
//UDP服务端口数字类型
private $serverport = 780;
/**
* UDP发送文本
*/
public function udpsend($str)
{
if(!function_exists('socket_create'))return '没有开启Socket组件';
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
$len = strlen($str);
$bo = socket_sendto($sock, $str, $len, 0, $this->serverhost, $this->serverport);
socket_close($sock);
return $bo;
}
/**
* 转pdf发送命令
*/
public function topdf($path, $fid, $type)
{
$flx = 'doc';
if($type=='xls' || $type=='xlsx')$flx='xls';
if($type=='ppt' || $type=='pptx')$flx='ppt';
$topah = ''.ROOT_PATH.'/mode/pdfjs/topdf/'.$flx.'.js';
if(!file_exists($topah))return '没有安装转化插件';
$url = m('base')->getasynurl('asynrun', 'topdfok', array('id'=>$fid,'type'=>'pdf'));
$url = URL;
$path = ''.ROOT_PATH.'/mode/pdfjs/topdf/start.bat "'.$topah.'" "'.ROOT_PATH.'/'.$path.'" "'.$url.'"';
$bo = $this->udpsend($path);
return $bo;
}
/**
* 用udp推送
*/
public function udppush($str, $host='', $port=0)
{
$msg = $bstr = '';
if(!function_exists('stream_socket_client'))$msg= '没有开启Socket组件';
if($msg==''){
$handle = stream_socket_client("udp://{$host}:{$port}", $errno, $errstr);
if(!$handle){
$msg = "ERROR: {$errno} - {$errstr}";
}
if($msg==''){
fwrite($handle, $str);
//$bstr = fread($handle, 1024); //去掉这个,不然容易阻塞
fclose($handle);
}
}
$barr['code'] = 0;
$barr['success'] = true;
$barr['msg'] = 'ok';
$barr['data'] = $bstr;
if($msg!=''){
$barr['code'] = 2;
$barr['msg'] = $msg;
}
return $barr;
}
}