該場景是下一個: 我有一個XMLRPC-C++應用程序,監聽PORT = 8081上的連接。它實現了一個深淵服務器,使用XMLRPC-C庫作爲下一個:如何處理XMLRPC中的多個連接深淵服務器 - C++
xmlrpc_c::serverAbyss myAbyssServer(
myRegistry, //handler of methods
port, //8081
"xmlrpc_log"
);
,當我創建一個腳本調用XML-RPC的許多方法中的多個連接,它工作正常。 腳本是這樣的: Script1: rpc.method1(parameters); rpc.method2(parameters); rpc.methodN(parameters);
如果使用netstat和xmlrpc_log檢查服務器中的連接,執行此腳本時,輸出內容類似於XMLRPC-SERVER:8081 XMLRPC-CLIENT:SOME TIME_WAIT。雖然XMLRPC_CLIENT IP是相同的,但是非常rpc.method調用它會創建一個新的連接。
當我在同一個客戶端執行這兩個腳本時出現問題。這意味着,在一個腳本中調用rpc.methodM(參數),與另一個腳本中的rpc.methodN(參數)同時在同一個客戶端中執行。 這會在服務器中產生崩潰,並且XMLRPC-SERVER會一直停留,直到重新啓動進程。
我讀了深淵幫助,而runOnce()方法不會幫助。默認情況下,如上所述調用構造函數,默認情況下MaxConnections爲30,並且對於Abyss服務器,超時15個segs。
是否有一些配置可以避免這種崩潰?我需要同時支持多個客戶端並同時支持多個連接。
感謝與此相關的任何幫助,
真誠, Luchux。