我正在测试一个场景并收到此错误:
Net::ReadTimeout in controller#method-one
。我试过三种方式
控制台:(正常工作):
HTTParty.get("http://localhost:3000/controller/method-two?prams=abc")
在localhost:3000上运行的单个服务器:(显示错误):
class Controller < ApplicationController
require 'net/http'
def method-one
abc = params[:abc]
res=HTTParty.get("http://localhost:3000/controller/method-two?prams=#{abc}")
end
end
两个服务器在不同的端口上运行localhost:3001/0 :(显示错误):
两个服务器互相呼叫控制器#方法只是为了改变端口,即
端口3000上的服务器呼叫:
HTTParty.get("http://localhost:3001/controller/method-other-server?prams=#{abc}")
上面在端口3001上调用服务器控制器#method-other-server再次回调源服务器另一种记录响应的方法,即
HTTParty.get("http://localhost:3000/controller/method-two?prams=#{abc}")
并且在端口3000上运行的原始服务器卡住了并生成 源服务器端口3000上的Net :: ReadTimeout错误
您可能想知道为什么我使用两台服务器进行一次通话。因为我在互联网上读到:
Localhost服务器是单线程的,因此您无法在localhost服务器内调用localhost URL。
请帮助我,我被困在初学者身上。
P.S:我已经独立测试了这些方法并且工作正常。但是当我通过HTTParty
从一个控制器方法调用url到另一个方法时,问题就出现了