簡體   English   中英

Perforce Server 2020 在多次登錄時出現問題

[英]Perforce Server 2020 Giving Problems On Multiple Logins

在從 2015 perforce 服務器遷移到 2019 時,我遇到了來自 Java API for P4、P4JAVA 的並行登錄問題。

在 2019 服務器上,如果多個 IServer 對象(例如server1server2 )使用相同的 userId 連接到服務器,則注銷 server1 (即server1.logout() )結束 session 對於同時登錄的所有其他 IServer 對象。

2015 年的服務器不會發生這種情況,並且使用注銷的 server1 結束 Seesion 不會導致 server2 的結果相同。

這是 2019 年服務器的預期工作嗎? 更改任何屬性可以恢復 2019 身份驗證以類似於 2015 服務器工作嗎? 我在下面附上了一段代碼和 output 以供進一步參考

  public static void main(String args[]) throws P4JavaException, URISyntaxException {
    IOptionsServer server1 = null, server2 =null;
    server1 = connectServer(server1,"p4javassl://127.0.0.1:1666");
    server2 = connectServer(server2,"p4javassl://127.0.0.1:1666");
    System.out.println(server1.getLoginStatus());
    System.out.println(server2.getLoginStatus());
    server1.logout();
    System.out.println(server1.getLoginStatus());
    System.out.println(server2.getLoginStatus());
  }
  public static IOptionsServer connectServer(IOptionsServer server,String URL)
      throws P4JavaException, URISyntaxException {
    Properties defaultProps = new Properties();
    defaultProps.put(RpcPropertyDefs.RPC_SOCKET_SO_TIMEOUT_NICK, "90000");
    defaultProps.putAll(System.getProperties());
    server = ServerFactory.getOptionsServer(URL, defaultProps);
    TrustOptions trustOptions = new TrustOptions(true, false, true);
    ((IOptionsServer) server).addTrust(trustOptions);
    server.connect();
    server.setUserName("usr");
    server.login("pass");
    return server;
  }

Output 用於2019服務器

用戶超級票在 11 小時 59 分鍾后到期。 用戶超級票在 11 小時 59 分鍾后到期。 Perforce 密碼 (P4PASSWD) 無效或未設置。

Perforce 密碼 (P4PASSWD) 無效或未設置。

Output 用於2015服務器

用戶超級票在 11 小時 59 分鍾后到期。 用戶超級票在 11 小時 59 分鍾后到期。 Perforce 密碼 (P4PASSWD) 無效或未設置。

用戶超級票在 11 小時 59 分鍾后到期。

所有客戶端票證都存儲在票證文件 ( P4TICKETS ) 中,由用戶名和服務器端口作為密鑰。 您可以通過運行p4 tickets命令查看所有票證。

當您執行p4 logout時,當前用戶/端口的票證將從本地票證文件中刪除,要求您再次p4 login以從服務器獲取它的新副本。 由於定期logout不會使服務器上的票證失效,因此只要保留票證副本,您就可以保持“登錄”狀態; 您可以通過擁有多個票證文件來做到這一點,或者只需保存 hash 然后恢復它(如果票證文件不在票證文件中,您也可以將票證 hash 作為P4PASSWD傳遞)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM