林琦海 il y a 5 ans
Parent
commit
45691158d4
1 fichiers modifiés avec 11 ajouts et 5 suppressions
  1. 11 5
      vendor/workerman/gatewayclient/Gateway.php

+ 11 - 5
vendor/workerman/gatewayclient/Gateway.php

@@ -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));
     }
 
 }