2010年6月27日星期日

[PerlChina] 关于sock连接的"捆绑"

寻找相关的模块, 不知道有没有... 如果没有得自己写个了.

需求是这样的:

我们是client, 要用tcp远程连接server, 因client和server之间, 每次交互反应不太快.(server端不受我们控制).
client和server之间可以建立多条IO::Socket连接如下:

+---+                           +---+
| C |<-----------//------------>|   |   
+---+                           |   |   
                                | S | 
+---+                           | E | 
| C |<-----------//------------>| R | 
+---+                           | V | 
                                | E | 
+---+                           | R | 
| C |<-----------//------------>|   |   
+---+                           +---+


现想在中间加层Proxy, 把多条连接"捆"到一起.

+---+           +---+           +---+   
| C |<--------->|   |           |   |   
+---+           |   |           |   |   
                | P |           | S |   
+---+           | R |<----//--->| E |
| C |<--------->| O |<----//--->| R |
+---+           | X |<----//--->| V |
                | Y |           | E |   
+---+           |   |           | R |   
| C |<--------->|   |           |   |   
+---+           +---+           +---+

这样, 每个client建立连接时, 把建立与远程server的连接转化为连接本地的proxy, 而proxy与远程建立多条连接, 进行轮询, 并把响应返回给正确的请求client.


主要目的是想能保持proxy与server端的连接不断, 同时能多条连接轮询复用, 加快响应的速度.

请问有没有类似这样的"Proxy"的模块推荐?


Best Regards!




没有评论: