以太坊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()用来提取指定交易的信息,一旦获得交易信息,就可以存入数据库供查询用了。
推荐一个实战入门,你可以看看:以太坊教程