|
|
@@ -1417,7 +1417,8 @@ class Context
|
|
|
*/
|
|
|
public static function addressToClientId($local_ip, $local_port, $connection_id)
|
|
|
{
|
|
|
- return bin2hex(pack('NnN', $local_ip, $local_port, $connection_id));
|
|
|
+ //return bin2hex(pack('NnN', $local_ip, $local_port, $connection_id));
|
|
|
+ return bin2hex(pack('NNnN', time(), $local_ip, $local_port, $connection_id));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -1426,11 +1427,16 @@ class Context
|
|
|
*/
|
|
|
public static function clientIdToAddress($client_id)
|
|
|
{
|
|
|
- if(strlen($client_id) !== 20)
|
|
|
- {
|
|
|
- throw new \Exception("client_id $client_id is invalid");
|
|
|
+ if (strlen($client_id) !== 28) {
|
|
|
+ echo new Exception("client_id $client_id is invalid");
|
|
|
+ return false;
|
|
|
}
|
|
|
- return unpack('Nlocal_ip/nlocal_port/Nconnection_id' ,pack('H*', $client_id));
|
|
|
+ return unpack('Ntime/Nlocal_ip/nlocal_port/Nconnection_id', pack('H*', $client_id));
|
|
|
+// if(strlen($client_id) !== 20)
|
|
|
+// {
|
|
|
+// throw new \Exception("client_id $client_id is invalid");
|
|
|
+// }
|
|
|
+// return unpack('Nlocal_ip/nlocal_port/Nconnection_id' ,pack('H*', $client_id));
|
|
|
}
|
|
|
|
|
|
}
|