2015-12-03 82 views

回答

1

上,我认为在默认情况下喷雾客户的任何信息都会重用连接在可能的情况。

默认情况下,60秒内未使用的连接将由客户端终止。

reference config of spray:

​​

如果禁用空闲超时,我们的连接将保持活跃永远除非远程服务器设置一些超时后杀空闲连接(它可能是,但喷洒客户应该确保我们总是可以得到一个新的连接,服从极限波纹)。

我们可以将主机连接池的大小限制为1至获得所需的行为(每个主机一个连接):

# The maximum number of parallel connections that an `HttpHostConnector` 
# is allowed to establish to a host. Must be greater than zero. 
spray.can.host-connector.max-connections = 1 

这将意味着,如果我们发送第二请求之前我们首先要求有收到了答复,第二个将不会被发送,直到第一个完成。要在单个连接上发送多个请求而无需等待第一个完成,我们可以启用pipelining

# If this setting is enabled, the `HttpHostConnector` pipelines requests 
# across connections, otherwise only one single request can be "open" 
# on a particular HTTP connection. 
spray.can.host-connector.pipelining = off