由于此类中没有方法,因此您可以对实例进行编码json_encode
并将其作为字符串发送。在客户端只需解码和克隆。当类有方法时也可以这样做,但更复杂。
例子:
//server
$p = new Packet;
socket_sendto($sock, json_encode($p), strlen($p), 0, $ip, $port);
//client
socket_recvfrom($sock, $buf, $size, 0, $ip, $port);
$p = clone json_decode($bof); //class without methods
$p = new Packet;
$p->setAs(json_decode($bof) ); //class with methods: implement this method too.
编辑:
现在我看到你的字段是private
,所以你需要实现 json 编码的方法。请参阅https://stackoverflow.com/a/7005915/2075420和https://stackoverflow.com/a/9942303/2075420。