以太坊rpc連接超時
1. 如何排除 RPC 終結點映射程序錯誤
RPC 可以使用多達 65535 個埠。默認情況下,所有版本的 Windows 都只使用 1024-5000 之間的埠。 要修復 RPC 終結點映射程序,請按照下列步驟操作:
1.
在出錯的伺服器上驗證下列服務的狀態和啟動類型:
計算機類型
RPC 服務
RPC Locator 服務
基於 Windows Server 2003 的域控制器
已啟動,自動
已停止,手動
基於 Windows Server 2003 的成員伺服器
已啟動,自動
已停止,手動
基於 Windows Server 2003 的獨立伺服器
已啟動,自動
已停止,手動
基於 Windows 2000 Server 的域控制器
已啟動,自動
已啟動,自動
基於 Windows 2000 Server 的成員伺服器
已啟動,自動
已啟動,手動
基於 Windows 2000 Server 的獨立伺服器
已啟動,自動
已停止,手動
如果對 RPC 服務或 RPC Locator 服務的設置進行更改,則應重新啟動計算機,然後再次測試問題。
2.
驗證注冊表中是否存在以下項:
回到頂端
Microsoft Windows XP 和 Microsoft Windows 2000
ncacn_http REG_SZ rpcrt4.dll
ncacn_ip_tcp REG_SZ rpcrt4.dll
ncacn_nb_tcp REG_SZ rpcrt4.dll
ncacn_np REG_SZ rpcrt4.dll
ncacn_ip_udp REG_SZ rpcrt4.dll
回到頂端
Microsoft Windows NT 4.0
ncacn_np REG_SZ rpcltcl.dll
ncalrpc REG_SZ ncalrpc
ncacn_ip_tcp REG_SZ RpcLtCcm.dll
ncadg_ip_udp REG_SZ RpcLtCcm.dll
ncadg_nb_tcp REG_SZ rpcltccm.dll
ncacn_http REG_SZ rpcltccm.dll
回到頂端
Microsoft Windows 98
ncacn_np REG_SZ rpcltcl.dll
ncalrpc REG_SZ ncalrpc
ncacn_ip_tcp REG_SZ rpcltc3.dll
ncacn_http REG_SZ rpcltccm.dll
要驗證客戶端注冊表設置,請按照下列步驟操作:
a.
單擊「開始」,單擊「運行」,在「打開」框中鍵入「regedit」,然後單擊「確定」。
b.
在注冊表編輯器中,找到以下子項:
HKEY_Local_Machine\Software\Microsoft\Rpc
c.
確保前面列出的五個默認值都存在。如果缺少某些值或全部值,您可以手動添加缺少的值,方法是:右鍵單擊「ClientProtocols」,單擊「新建」,然後單擊「字元串值」。
3.
驗證 DNS 是否正常工作。為此,請按照下列步驟操作:
a.
在出錯的計算機上,單擊「開始」,單擊「運行」,在「打開」框中鍵入「cmd」,然後單擊「確定」。
b.
從命令行中鍵入 Netdiag -v 或鍵入 ping -a IP_of_problem_server,以確保主機記錄解析為正確的計算機。
4.
驗證大於 1024 的埠未被阻止。客戶端連接到埠 135 上的 RPC 終結點映射程序。RPC 終結點映射程序隨後告知客戶端,請求的服務正在偵聽 1024-65535 之間的哪些隨機分配埠。 硬體防火牆、基於 Windows Server 2003 的計算機上和基於 Windows XP 的計算機上的 Windows 防火牆、第三方防火牆軟體或內置有防火牆功能的防病毒軟體都可能阻止埠。默認情況下,必須打開 135 TCP/UDP 埠和 1024-65535 之間的 TCP 埠,RPC 才能正常工作。不過,您可以限制 RPC 使用大於 1024 的埠。但是,RPC 終結點映射程序始終在埠 135 上運行。
還可以使用 Portqry 工具驗證所需的埠是否已打開。必須在未出現任何 RPC 錯誤的計算機上使用 -n 開關對出現 RPC 錯誤的計算機運行 Portqry 工具。為此,請按照下列步驟操作:
a.
單擊「開始」,單擊「運行」,在「打開」框中鍵入「cmd」,然後單擊「確定」。
b.
鍵入 portqry -n problem_server -e 135。
將出現類似以下示例的輸出:
Querying target system called: problem_serverAttempting to resolve name to IP address... Name resolved to 169.254.1.1 querying... problem_serverTCP port 135 (epmap service):LISTENING Using ephemeral source port Querying Endpoint Mapper Database... Server's response: UUID:f5cc59b4-4264-101a-8c59-08002b2f8426 NtFrs Service ncacn_ip_tcp:65.53.63.16[1094] UUID:e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS Interface ncacn_ip_tcp:65.53.63.16[1025] UUID:e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS Interface ncacn_http:65.53.63.16[1029] UUID:e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS Interface ncacn_http:65.53.63.16[6004]
如果埠 135 被阻止,將顯示以下內容:
TCP port 135 (epmap service):NOT LISTENING
但是,對於這些 RPC 終結點映射程序錯誤,可能是大於 1024 的埠而非埠 135 被阻止。 從輸出中,您了解到 DC 將埠 1094 用於 FRS,將埠 1025、1029 和 6004 用於 Active Directory 復制。可以再次使用 Portqry 工具檢查這些埠。例如,可以帶 -o 開關使用 Portqry 工具以同時測試所有埠。例如,鍵入 portqry -n problem_server -o 1094,1025,1029,6004
如果埠均響應為「LISTENING」,則此問題可能不是由被阻止的埠引起的。如果所有埠均響應為「NOT LISTENING」,則埠可能被阻止。
5.
可以使用三個可以添加到 HKEY_Local_Machine\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 子項中的 REG_DWORD 值來幫助解決 RPC 問題。
注意:默認情況下這三個條目均不存在。
MaxUserPort
此條目使更多埠可用。
TcpTimedWaitDelay
如果將該值從默認設置 240 秒減小到一個較小的值,將會使埠較早過期。此參數確定當連接被關閉時,它停留在 TIME_WAIT 狀態的時間長度。當連接處於 TIME_WAIT 狀態時,不能重新使用套接字對。這也稱為 2MSL 狀態,因為該值應該是網路上最大片段生命周期的兩倍。有關詳細信息,請參閱 RFC 793。
TcpMaxDataRetransmissions
默認值為 5。可以嘗試 4 或 3,但是不要嘗試小於 3 的值。此參數控制在中止連接之前 TCP 重新傳輸單個數據片段(不是連接請求片段)的次數。在一次連接中,每次重新傳輸的超時值都是上一次的兩倍。當響應恢復時,超時值將重置。在每次連接中,都會使用歷史上測量的往返值(平滑往返時間或 SRTT)動態調整重新傳輸超時 (RTO) 值。新連接中的起始 RTO 由 TcpInitialRtt 注冊表值控制。
6.
如果 HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\Internet 注冊表項存在,並且未列出任何值,則 RPC 只有一個可用埠。默認情況下,此注冊表項不存在;如果在此項下未列出任何值,請刪除此項,然後重新啟動伺服器。
2. Axis2如何設置連接超時時間
應該可以的,setTimeOutInMilliSeconds是設毫秒的喔,你嘗試一下再改短一點。setTimeOutInMilliSeconds(100L)。
org.apache.commons.httpclient.ConnectTimeoutException: The host did not accept the connection within timeout of 100 ms
at org.apache.commons.httpclient.protocol.ReflectionSocketFactory.createSocket(ReflectionSocketFactory.java:155)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:125)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
at org.apache.commons.httpclient.$HttpConnectionAdapter.open(.java:1361)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
3. ETH以太坊Ethereum如何使用RPC調用實現web端充值提現
以太坊源碼go-ethereum怎麼運行
安裝基於MIPS的linux頭文件
$ cd $PRJROOT/kernel
$ tar -xjvf linux-2.6.38.tar.bz2
$ cd linux-2.6.38
在指定路徑下創建include文件夾,用來存放相關頭文件。
$ mkdir -p $TARGET_PREFIX/include
保證linux源碼是干凈的。
$ make mrproper
生成需要的頭文件。
$ make ARCH=mips headers_check
$ make ARCH=mips INSTALL_HDR_PATH=dest headers_install
將dest文件夾下的所有文件復制到指定的include文件夾內。
$ cp -rv dest/include/* $TARGET_PREFIX/include
最後刪除dest文件夾
$ rm -rf dest
$ ls -l $TARGET_PREFIX/include
4. linux下mount NFS時,總出現mount: RPC: Timed out ,但把NFS上的防火牆關了就沒有問題。怎麼解決超時問題
你先查一下NFS用的埠,然後在防火牆里把這個埠開放。
5. 怎麼用rpc查詢以太坊智能合約該筆交易是否out of gas
因為區塊鏈技術對實現智能合約存在天然的優勢。比特幣、瑞泰幣、萊特幣、以太坊等數字加密貨幣都使用了區塊鏈技術。區塊鏈(Blockchain)是比特幣的一個重要概念,本質上是一個去中心化的資料庫,同時作為比特幣的底層技術。區塊鏈是一串使用
6. 共享列印機昨天還可以打,今天出現RPC伺服器不可用
要解決此問題:
1. 從其他復制 Spoolss.exe 和 Spoolss.dll 文件 - Windows NT 4.0 伺服器或工作站到影響計算機上 % SystemRoot % 文件夾。
2. 應用或重新應用最適當 WindowsNT 服務包, 並重新啟動計算機。
3. 設置為自動啟動遠程過程調用 (RPC) 服務: a. 單擊 開始 指向 設置 , 單擊 控制面板 , 然後雙擊 服務 。
b. 在 服務 列表, 單擊 遠程過程調用 (RPC) 服務 , 然後單擊 啟動 。
c. 在 啟動類型 , 單擊 自動 , 並單擊 確定 。
4. 重新啟動計算機。
7. aix nfs umount Warning: unmount:: RPC: 1832-008 Timed out
有可能是網路的問題,比如帶寬被佔用,或者網路延遲高等原因。
umount時可以直接對其掛載點進行卸載
umount /nfs
8. 以太坊如何使用web3.js或者rpc介面獲取交易數據交易時間與確認數
如果要查詢主網上的交易記錄,可以使用etherscan。但是,如果是你自己搭建的私鏈,應該如何查詢交易記錄呢?
答案是你需要自己監聽鏈上的日誌,存到資料庫里,然後在這個資料庫中查詢。例如:
varaddr=""
varfilter=web3.eth.filter({fromBlock:0,toBlock:'latest',address:addr});
filter.get(function(err,transactions){
transactions.forEach(function(tx){
vartxInfo=web3.eth.getTransaction(tx.transactionHash);
//這時可以將交易信息txInfo存入資料庫
});
});
web3.eth.filter()用來監聽鏈上的日誌,web3.eth.getTransaction()用來提取指定交易的信息,一旦獲得交易信息,就可以存入資料庫供查詢用了。
推薦一個實戰入門,你可以看看:以太坊教程