walkor大佬:
我现在用自定义协议(包头+包类型+包长度+内容+校验)与设备通信,是以数组的形式发送的,在encode中才编码成字符串。
/**
* 编码
* @param array $order
*
* @return string
*/
public static function encode($order){
.....
return $buffer;
}
但是发送心跳是以字符串的形式再编码的。
$gateway_package->pingData = ''
现在服务器想向设备发送心跳,规定时间内响应,这个有什么好的方法?
祝好!
$gateway_package->pingData可以不是字符串,可以是数组或者对象,具体是什么类型看协议的encode方法接受什么数据类型。
给客户端发送$gateway_package->pingData 的时候会自动调用协议的encode方法,你可以把$gateway_package->pingData设置成$order类型的数据