【问题标题】:Are there some up-to-date tutorials on Perl network programming?是否有一些关于 Perl 网络编程的最新教程?
【发布时间】:2010-01-17 00:28:08
【问题描述】:

是否有与 2010 年相关的关于使用 Perl 进行网络编程的链接、材料或书籍?我看到一些关于使用 Perl 进行网络编程的书很旧(大约十年),互联网上的教程也很旧并且使用旧模块。

有人可以提供关于使用更新到 2010 的 Perl 编程套接字和网络层/应用层协议的良好参考吗?

【问题讨论】:

  • 我能想到的最好办法是 perldoc + 搜索 CPAN 模块。

标签: perl sockets networking


【解决方案1】:

这个任务确实需要一个异步框架:现在几乎每个人都使用POE。我讨厌它,因为对我来说它看起来不像 Perl。它看起来像它自己的特殊愚蠢的过早优化语言。无论如何,您可以在cpan's docs about poe 上找到更多信息。

POE 的内部结构很奇怪,POE 做了一些相当愚蠢的事情,比如静态索引@_ 的内容以获得“速度”。 POE 组件看起来就像代码中间的一小块巫毒粪。你可能喜欢它,试一试。如果您必须调试它或扩展 POE::Kernel,您可能想在其他地方寻找工作。

还有一个不断增长的替代方案:AnyEvent。我先看看。它做的事情大不相同,而且是一个更薄的层,不想感染你的整个应用程序。

链接:

【讨论】:

  • 我以为只有我一个讨厌 POE。 :)
  • 我更喜欢 AnyEvent 而不是 POE,但是 Evan 对 POE 的评论是完全错误的。我会编辑它,但是什么都没有了。
  • re: jrockway, Argumentum ad lapidem。我是谁有意见。我刚刚尝试了最先进的 POE 分支:github.com/EvanCarroll/POE(坦率地说,我觉得你正在赶上 mst 和 co. 的潮流)
  • 你的前叉有什么不同?它与你去年春天宣布的 Moosified 版本相比如何?
  • POE 是个怪物。它的优势在于其丰富的模块,但是如果您不需要任何特定的模块,或者如果 AnyEvent 也提供了类似的模块,那么请务必选择 AnyEvent。
【解决方案2】:

虽然Lincoln Stein 的Network Programming with Perl 有点老了,但内容大部分还是不错的。在过去的几十年中,该级别的网络编程并没有太大变化。如果您想学习玩插座,这本书可以帮助您入门。

但是,在套接字级别的 Perl 与 C 库所做的相同。它周围可能有一些不错的界面,但是在界面下查看,您会看到相同的内容。

【讨论】:

  • 对,但我认为2010 的限定是指未在 C 中实现的 API,以及人们今天如何解决这个问题。
猜你喜欢
  • 2011-01-28
  • 1970-01-01
  • 1970-01-01
  • 2012-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-06
  • 1970-01-01
相关资源
最近更新 更多