繁体   English   中英

运行Netty HttpStaticFileServer示例

[英]Running Netty HttpStaticFileServer example

我对正在从事的项目中使用Netty感到非常兴奋,但是在快速加快速度方面承受着巨大的压力。 我是一位经验丰富的Java程序员,但是在编写客户端-服务器系统方面经验不足。

我正在通过netty示例进行工作,但是发现关于如何正确运行它们的文档并不多。 诚然,通过源代码进行挖掘是很有用的,但是当我到达HttpStaticFileServer时,我就已经采用了这种方法。 客户端请求大概来自telnet,但是我不知道文件请求本身的格式是什么,我已经尝试了一些。 Handler编解码器一点也不清晰。 因此,总的来说,如果有一组有关如何运行该示例的说明会很好。 我保证我将在调试器中监视整个过程,因此我可以按照实际情况进行操作。 因此,至少就目前而言,我将欣赏FileServer的一个简单示例。 我怀疑要构建的应用程序将由此生成。 谢谢您的帮助!

HttpStaticFileServer将提供文件系统中的文件。

请参见HttpStaticFileServerHandler..sanitizeUri()。 在这里它将您在浏览器中输入的虚拟路径映射到物理路径。

因此http://localhost:8080/afile.txt将映射到~/afile.txt 只需将afile.txt放在此处,它就会显示在您的浏览器中。

您可能想先尝试Snoop示例。 我在Eclipse中加载netty(记住要使用JDK7)并运行/调试示例应用程序。

我在Windows上使用Eclipse运行HttpStaticFileServer。


要测试示例,请遵循以下简单步骤:

  1. 运行服务器
  2. 在Web浏览器中输入:localhost:8080 / file.ext(用您的文件替换file.ext)

该文件应位于System.getProperty("user.dir")

这里查看如何工作的答案

对我而言,它指向Eclipse工作区目录。 所以,醚使用工作区或改变sanitizeUri(String uri)方法在HttpStaticFileServerHandler返回:

 rootPath + File.separator + uri;

代替

 return System.getProperty("user.dir") + File.separator + uri;

其中rootPath是文件服务器根目录的路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM