每个客户端进程的IBrowse和持久连接

时间:2014-07-31 13:18:50

标签: http erlang persistent

我需要使用Erlang的SOAP服务。 SOAP实现不是主题,我在客户端遇到HTTP请求问题。

我使用IBrowse作为HTTP客户端。此SOAP服务使用特定的授权机制,该机制将打开的会话与客户端连接(套接字)相关联。因此,客户端应该只使用一个到服务器(套接字)的持久连接,如果它尝试通过另一个套接字发送请求(例如,来自池的连接) - 授权将失败。

我以这种方式使用IBrowse:

  1. 到服务器的生成连接过程(ibrowse:spawn_worker_process/1
  2. 使用{max_sessions, 1}{max_pipeline_size, 0}
  3. 通过衍生流程向服务器发送请求

    如果我理解正确的文档,这应该使用一个套接字用于禁用流水线的服务器连接,同样,我使用Connection: Keep-Alive标头和HTTP版本显式设置为1.0。但收到回复后我的连接总是关闭。

    我如何以上述方式使用IBrowse(或其他http客户端)?

1 个答案:

答案 0 :(得分:0)

我认为你可以通过reusing a connection使用hackney

同样gun is quite nice http客户端,易于使用,保持连接,但连接控制较少。