拥有perl-base自包含HTTP服务器的最佳方法,该服务器也管理TCP连接

时间:2010-08-05 14:57:54

标签: perl

我正在编写一个小型胶水工具进行一些测试,我想大力利用CPAN。我的工具必须充当HTTP服务器,以将发布的数据桥接到其他TCP连接,反之亦然。

我已经使用IO::Event启动了该工具,这对我来说非常好用。我想将它与HTTP::Server::Simple之类的东西集成在一起,为我做HTTP解析,而不是自己解析HTTP头。快速阅读HTTP :: Server :: Simple似乎不能正常工作,但也许我错过了一些东西。

有人做过这样的事吗?

1 个答案:

答案 0 :(得分:1)

在搜索CPAN之后,我找到了模块:HTTP::Parser。它看起来完全符合我的要求。

组合IO :: Event和HTTP :: Parser是一个非常简单的应用程序,可以用最少量的工作来完成我想要的工作。

更新:我应该提到的一件事是默认情况下IO :: Event不能很好地处理二进制数据。它尝试使用perl的缓冲IO,它将尝试根据记录分隔符传递数据。你可以通过设置'$ client-> autoread(0);'来解决这个问题。执行此操作后,必须使用'ie_read_ready()'事件并执行显式“recv”调用以获取基础文件句柄上的数据。要发送数据,请对基础文件句柄执行“发送”调用。这对我很有用。